comments | difficulty | edit_url | rating | source | tags | |||||
---|---|---|---|---|---|---|---|---|---|---|
true |
中等 |
1806 |
第 421 场周赛 Q2 |
|
给你一个字符串 s
和一个整数 t
,表示要执行的 转换 次数。每次 转换 需要根据以下规则替换字符串 s
中的每个字符:
- 如果字符是
'z'
,则将其替换为字符串"ab"
。 - 否则,将其替换为字母表中的下一个字符。例如,
'a'
替换为'b'
,'b'
替换为'c'
,依此类推。
返回 恰好 执行 t
次转换后得到的字符串的 长度。
由于答案可能非常大,返回其对 109 + 7
取余的结果。
示例 1:
输入: s = "abcyy", t = 2
输出: 7
解释:
- 第一次转换 (t = 1)
<ul> <li><code>'a'</code> 变为 <code>'b'</code></li> <li><code>'b'</code> 变为 <code>'c'</code></li> <li><code>'c'</code> 变为 <code>'d'</code></li> <li><code>'y'</code> 变为 <code>'z'</code></li> <li><code>'y'</code> 变为 <code>'z'</code></li> <li>第一次转换后的字符串为:<code>"bcdzz"</code></li> </ul> </li> <li><strong>第二次转换 (t = 2)</strong> <ul> <li><code>'b'</code> 变为 <code>'c'</code></li> <li><code>'c'</code> 变为 <code>'d'</code></li> <li><code>'d'</code> 变为 <code>'e'</code></li> <li><code>'z'</code> 变为 <code>"ab"</code></li> <li><code>'z'</code> 变为 <code>"ab"</code></li> <li>第二次转换后的字符串为:<code>"cdeabab"</code></li> </ul> </li> <li><strong>最终字符串长度</strong>:字符串为 <code>"cdeabab"</code>,长度为 7 个字符。</li>
示例 2:
输入: s = "azbk", t = 1
输出: 5
解释:
- 第一次转换 (t = 1)
<ul> <li><code>'a'</code> 变为 <code>'b'</code></li> <li><code>'z'</code> 变为 <code>"ab"</code></li> <li><code>'b'</code> 变为 <code>'c'</code></li> <li><code>'k'</code> 变为 <code>'l'</code></li> <li>第一次转换后的字符串为:<code>"babcl"</code></li> </ul> </li> <li><strong>最终字符串长度</strong>:字符串为 <code>"babcl"</code>,长度为 5 个字符。</li>
提示:
1 <= s.length <= 105
s
仅由小写英文字母组成。1 <= t <= 105