字节聪明的编辑(Java)
2021/10/16 17:39:29
本文主要是介绍字节聪明的编辑(Java),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
我叫王大锤,是一家出版社的编辑。我负责校对投稿来的英文稿件,这份工作非常烦人,因为每天都要去修正无数的拼写错误。但是,优秀的人总能在平凡的工作中发现真理。我发现一个发现拼写错误的捷径: 1. 三个同样的字母连在一起,一定是拼写错误,去掉一个的就好啦:比如 helllo -> hello 2. 两对一样的字母(AABB型)连在一起,一定是拼写错误,去掉第二对的一个字母就好啦:比如 helloo -> hello 3. 上面的规则优先“从左到右”匹配,即如果是AABBCC,虽然AABB和BBCC都是错误拼写,应该优先考虑修复AABB,结果为AABCCpublic 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)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-11有哪些好用的家政团队管理工具?
- 2025-01-11营销人必看的GTM五个指标
- 2025-01-11办公软件在直播电商前期筹划中的应用与推荐
- 2025-01-11提升组织效率:上级管理者如何优化跨部门任务分配
- 2025-01-11酒店精细化运营背后的协同工具支持
- 2025-01-11跨境电商选品全攻略:工具使用、市场数据与选品策略
- 2025-01-11数据驱动酒店管理:在线工具的核心价值解析
- 2025-01-11cursor试用出现:Too many free trial accounts used on this machine 的解决方法
- 2025-01-11百万架构师第十四课:源码分析:Spring 源码分析:深入分析IOC那些鲜为人知的细节|JavaGuide
- 2025-01-11不得不了解的高效AI办公工具API