Skip to content

Files

Latest commit

a8def68 · May 26, 2024

History

History
115 lines (68 loc) · 2.8 KB

File metadata and controls

115 lines (68 loc) · 2.8 KB
comments difficulty edit_url
true
中等

English Version

题目描述

给你一个字符串 word,请你使用以下算法进行压缩:

  • 从空字符串 comp 开始。当 word 不为空 时,执行以下操作:
    <ul>
    	<li>移除 <code>word</code> 的最长单字符前缀,该前缀由单一字符 <code>c</code> 重复多次组成,且该前缀长度 <strong>最多 </strong>为 9 。</li>
    	<li>将前缀的长度和字符 <code>c</code> 追加到 <code>comp</code> 。</li>
    </ul>
    </li>
    

返回字符串 comp

 

 

示例 1:

输入:word = "abcde"

输出:"1a1b1c1d1e"

解释:

初始时,comp = "" 。进行 5 次操作,每次操作分别选择 "a""b""c""d""e" 作为前缀。

对每个前缀,将 "1" 和对应的字符追加到 comp

示例 2:

输入:word = "aaaaaaaaaaaaaabb"

输出:"9a5a2b"

解释:

初始时,comp = ""。进行 3 次操作,每次操作分别选择 "aaaaaaaaa""aaaaa""bb" 作为前缀。

  • 对于前缀 "aaaaaaaaa",将 "9""a" 追加到 comp
  • 对于前缀 "aaaaa",将 "5""a" 追加到 comp
  • 对于前缀 "bb",将 "2""b" 追加到 comp

 

提示:

  • 1 <= word.length <= 2 * 105
  • word 仅由小写英文字母组成。

解法

方法一

Python3

Java

C++

Go