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