【牛客刷题】 01字符串按递增长度截取转换详解
文章目录
- 一、题目介绍
-
- 1.1 输入描述
- 1.2 输出描述
- 1.3 示例分析
- 二、解题思路
-
- 2.1 核心问题分析
- 2.2 关键算法设计
- 2.3 算法步骤
- 三、代码实现
-
- 关键代码解析
- 四、复杂度分析
- 五、示例演示
-
- 输入字符串:`"1011011101"`
- 输入字符串:`"10100110011110"`
- 六、边界处理技巧
- 总结
一、题目介绍
给定一个01字符串(仅包含’0’和’1’的字符串),需要按照特定规则截取子串并转换为十进制整数:
- 截取规则:
- 从长度1开始截取
- 每次截取长度递增1(1→2→3→…→9)
- 达到长度9后重置为1,继续循环
- 终止条件:当剩余字符不足当前截取长度时停止
1.1 输入描述
- 一个仅包含’0’和’1’的字符串(长度≤1000)
- 示例输入:
"01001100"
1.2 输出描述
- 十进制整数列表,表示每次截取的二进制子串转换结果
- 示例输出:
[0, 2, 3]
1.3 示例分析
输入字符串:"01001100"
截取过程:
- 长度1:
"0"
→ 二进制0
= 十进制0 - 长度2:
"10"
→ 二进制10
= 十进制2 - 长度3