拆分成最小数量的十进制二进制数


Submit solution

Points: 200
Time limit: 1.0s
Memory limit: 4M

Author:
Problem type
Allowed languages
C, C++
拆分成最小数量的十进制二进制数(leetcode 1689)

十进制二进制数(deci-binary number)是一个只包含数字 0 和 1 的 十进制数,
例如:
1, 10, 101 都是十进制二进制数。

输入一个字符串 n,表示一个非负十进制整数。请你将这个数字拆分成若干个十进制二进制数,使得它们的和等于 n。 返回组成 n 的最少十进制二进制数的数量。

示例 1:

输入:

32

输出:

3
解释: 可以将 32 拆分为:

\(10 + 11 + 11 = 32\)

所以最少需要 3 个十进制二进制数

示例 2:

输入:

82734

输出:

8
示例 3:

输入:

27346209830709182346

输出:

9
数据制约

\(1 <= n.length <= 10^5\)
n仅仅含有数字
n不含有前导0,且n为正数


Comments

There are no comments at the moment.