1.给你一个正整数 n
,返回 2
和 n
的最小公倍数(正整数)。
例如n = 5,5 和 2 的最小公倍数是 10 思路:如果一个数对二求余,余数为0,那么这个数本身就是所要求的最小公倍数,如果余数不为0,那么这个数乘以2就是要求的最小公倍数。
class Solution:
def smallestEvenMultiple(self, n: int) -> int:
if n%2==0:
return n
else:
return n*2
2.给你一个四位正整数 num
,请你使用 num
中的数位 ,将 num
拆成两个新的整数 new1
和 new2
。new1
和 new2
中可以有前导0,且 num
中所有数位都必须使用。
比如给你 num = 2932
,你拥有的数位包括:两个 2
,一个 9
和一个 3
。一些可能的 [new1, new2]
数对为 [22, 93]
,[23, 92]
,[223, 9]
和 [2, 329]
,请你返回可以得到的 new1
和 new2
的最小和。
思路:把数字转化为列表,主要就是用到排序函数sort,排完序这个结果就出来了,默认是按升序的,所以s[0]+s[1]这样字符串连接后就是第一个最小的数,s[1]+s[2]拼接后就是第二个最小的数,但数字不能直接转化为list,原因是整数对象并不是可迭代的,在Python中,你需要先将整数转换为字符串,然后再将字符串转换为列表,最后返回值时再转化为int就行,这个必须要有4位数字,而题目刚好就是四位数字的要求。
class Solution:
def minimumSum(self, num: int) -> int:
s=list(str(num))
s.sort()
return int(s[0]+s[2])+int(s[1]+s[3])