本文主要是介绍【字符串处理、枚举T10】肥宅快乐串,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本题的主要思路是以 "fattyhappy" 为模板,对字符串进行模板匹配。
我们可以从原字符串的每一个字符开始,统计接下来 10 个数字与 "fattyhappy" 的不同字符数,并根据不同的字符数进行对应的操作。我们记不同字符数为 diff。
1. diff >= 3
该情况下无论如何交换都至少会有一个字符与模板字符串不同。
故当 diff >= 3 时不存在答案。
2. diff == 2
该情况下我们尝试交换不同的两个字符。
如果交换后与模板字符串相同,则可以将这两个位置作为答案进行输出。
3. diff == 1
该情况下我们需要将这个不同的字符与所有其他字符尝试进行交换。
如果交换后与模板字符串相同,则可以将这两个位置作为答案进行输出。
4. diff == 0
该情况下我们已经匹配到了完整的字符串。但是题目要求我们必须进行一次交换。
观察到 "fattyhappy" 中有重复的字符。我们只需要在单词内任选两个相同字符进行交换即可。
这篇关于【字符串处理、枚举T10】肥宅快乐串的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!