public class SmartEditor {
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
ArrayList<String> strs = new ArrayList<>();
int n = scan.nextInt();
for(int i = 0;i < n;i++){
strs.add(scan.next());
}
for(String str : strs){
System.out.println(SmartEditor(str));
}
}
public static String SmartEditor(String str){
int a = 0;
int b = 1;
int c = 2;
int d = 3;
if(str.length() == 3){
if(str.charAt(a) == str.charAt(b) && str.charAt(a) == str.charAt(c)){
return str.substring(0,c);
}
return str;
}else if(str.length() < 3){
return str;
}
while(true){
if(str.charAt(a) == str.charAt(b) && str.charAt(a) == str.charAt(c)){
str = str.substring(0,c) + str.substring(c+1);
}else if(d < str.length() && str.charAt(a) == str.charAt(b) && str.charAt(c) == str.charAt(d)){
str = str.substring(0,c) + str.substring(d);
}else{
a = b;
b = c;
c = d;
d = d+1;
}
if(d > str.length()){
break;
}
}
return str;
}
}
字节聪明的编辑(Java)
转载我叫王大锤,是一家出版社的编辑。我负责校对投稿来的英文稿件,这份工作非常烦人,因为每天都要去修正无数的拼写错误。但是,优秀的人总能在平凡的工作中发现真理。我发现一个发现拼写错误的捷径:
1. 三个同样的字母连在一起,一定是拼写错误,去掉一个的就好啦:比如 helllo -> hello
2. 两对一样的字母(AABB型)连在一起,一定是拼写错误,去掉第二对的一个字母就好啦:比如 helloo -> hello
3. 上面的规则优先“从左到右”匹配,即如果是AABBCC,虽然AABB和BBCC都是错误拼写,应该优先考虑修复AABB,结果为AABCC
本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
【字节2019春招】万万没有想到之聪明的编辑
题目:我叫王大锤,是一家出版社的编辑。我负责校对投稿来的英文稿件,这份工
java 字符串 i++ 用例 -
字节跳动笔试题——万万没想到之聪明的编辑
转载请注明链接,有问题请及时联系
换行符 字符串 数组 -
字节跳动2019春招研发编程题——万万没想到之聪明的编辑(Java实现)
万万没想到,我被开除了,临走时老板对我说“做人做事要兢兢业业、勤勤恳恳、本本分分,人要是行,干一行行一
java 刷题 字符串 System 用例 -
聪明的kki++ #include ios 百度文库 上传