1.「无零整数」是十进制表示中 不含任何 0 的正整数。
给你一个整数 n,请你返回一个 由两个整数组成的列表 [A, B],满足:
A 和 B 都是无零整数
A + B = n
题目数据保证至少有一个有效的解决方案。
如果存在多个有效解决方案,你可以返回其中任意一个。
示例 :
输入:n = 2
输出:[1,1]
解释:A = 1, B = 1. A + B = n 并且 A 和 B 的十进制表示形式都不包含任何 0 。
代码如下:
class Solution: def getNoZeroIntegers(self, n: int) -> List[int]: while(True): L = random.randint(1,n) R = n-L if '0' not in str(L) and '0' not in str(R): return [L,R]
2.给你一个字符串 num ,表示一个大整数。请你在字符串 num 的所有 非空子字符串 中找出 值最大的奇数 ,并以字符串形式返回。如果不存在奇数,则返回一个空字符串 "" 。
子字符串 是字符串中的一个连续的字符序列。
示例 1:
输入:num = "52"
输出:"5"
解释:非空子字符串仅有 "5"、"2" 和 "52" 。"5" 是其中唯一的奇数。
示例 2:
输入:num = "4206"
输出:""
解释:在 "4206" 中不存在奇数。
代码如下:
class Solution(object):
def largestOddNumber(self, num):
# 奇数的最后一位只能也是奇数,所以从后往前遍历,找到从右往左第一位奇数,切片头部到此奇数的子字符串
for i in range(len(num)-1,-1,-1):
if num[i] in '13579':
return num[:i+1]
return ''