【字符串处理、枚举T10】肥宅快乐串
本文最后更新于 311 天前,其中的信息可能已经有所发展或是发生改变。

本题的主要思路是以 "fattyhappy" 为模板,对字符串进行模板匹配。

我们可以从原字符串的每一个字符开始,统计接下来 10 个数字与 "fattyhappy" 的不同字符数,并根据不同的字符数进行对应的操作。我们记不同字符数为 diff。

1.diff >= 3

该情况下无论如何交换都至少会有一个字符与模板字符串不同。

故当 diff >= 3 时不存在答案。

2.diff == 2

该情况下我们尝试交换不同的两个字符。

如果交换后与模板字符串相同,则可以将这两个位置作为答案进行输出。

3.diff == 1

该情况下我们需要将这个不同的字符与所有其他字符尝试进行交换。

如果交换后与模板字符串相同,则可以将这两个位置作为答案进行输出。

4.diff == 0

该情况下我们已经匹配到了完整的字符串。但是题目要求我们必须进行一次交换。

观察到 "fattyhappy" 中有重复的字符。我们只需要在单词内任选两个相同字符进行交换即可。


欢迎通过E-mail:blog#drinkcat.com 与我进行交流。
关注我的微信订阅号:饮猫DrinkCat在BIT,即是对我最大的支持~


暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇