1317-将整数转换为两个无零整数的和
「无零整数」是十进制表示中 不含任何 0 的正整数。
给你一个整数 n
,请你返回一个 由两个整数组成的列表 [A, B]
,满足:
A
和B
都是无零整数A + B = n
题目数据保证至少有一个有效的解决方案。
如果存在多个有效解决方案,你可以返回其中任意一个。
示例 1:
**输入:** n = 2
**输出:** [1,1]
**解释:** A = 1, B = 1. A + B = n 并且 A 和 B 的十进制表示形式都不包含任何 0 。
示例 2:
**输入:** n = 11
**输出:** [2,9]
示例 3:
**输入:** n = 10000
**输出:** [1,9999]
示例 4:
**输入:** n = 69
**输出:** [1,68]
示例 5:
**输入:** n = 1010
**输出:** [11,999]
提示:
2 <= n <= 10^4
方法一:枚举
由于题目中给出的 n
的范围 [2, 10000]
较小,因此我们可以直接在 [1, n)
的范围内枚举 A
,并通过 n - A
得到 B
,再判断 A
和 B
是否均不包含 0
即可。
1 | class Solution { |
1 | class Solution: |
复杂度分析
时间复杂度:O(N\log N),枚举
A
的时间复杂度为 O(N),判断A
和B
是否均不包含0
的时间复杂度为 O(\log N),即A
与B
的位数之和。空间复杂度:O(1)。
Comments