将整数转换为两个无零整数的和
题目要求:
「无零整数」是十进制表示中 不含任何 0 的正整数。
给你一个整数 n,请你返回一个 由两个整数组成的列表 [A, B],满足:
- A 和 B 都是无零整数
- A + B = n
题目数据保证至少有一个有效的解决方案。
如果存在多个有效解决方案,你可以返回其中任意一个。
解题思路:
- 遍历1-(n-1)中两两相加等于n的组合;
- 判断其组合中的两个数是否包含0;
- 都不包含0则返回两值组成的数组。
题解代码:
两行代码搞定问题!!
class Solution:
def getNoZeroIntegers(self, n: int) -> List[int]:
#遍历1-(n-1)中两两相加等于n的组合;
for i in range(1,n):
#判断其组合中的两个数是否包含0,不包含则返回两值组成的数组。
if ("0" not in str(i)) and ("0" not in str(n-i)):
return [i,n-i]
也可以写成一行:
return [[i,n-i] for i in range(1,n) if ("0" not in str(i)) and ("0" not in str(n-i))][0]
(“己欲立而立人,己欲达而达人--《论语·雍也》
”FIGHTING. . . .)