Skip to content

Latest commit

 

History

History
147 lines (100 loc) · 3.85 KB

File metadata and controls

147 lines (100 loc) · 3.85 KB
comments difficulty edit_url rating source tags
true
中等
1806
第 421 场周赛 Q2
哈希表
数学
字符串
动态规划
计数

English Version

题目描述

给你一个字符串 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

解法

方法一

Python3

Java

C++

Go