1:题目
给你一个由 无重复 正整数组成的集合 nums ,请你找出并返回其中最大的整除子集 answer ,子集中每一元素对 (answer[i], answer[j]) 都应当满足:
answer[i] % answer[j] == 0 ,或
answer[j] % answer[i] == 0
如果存在多个有效解子集,返回其中任何一个均可。
示例 1:
输入:nums = [1,2,3]
输出:[1,2]
解释:[1,3] 也会被视为正确答案。
示例 2:
输入:nums = [1,2,4,8]
输出:[1,2,4,8]
提示:
1 <= nums.length <= 1000
1 <= nums[i] <= 2 * 109
nums 中的所有整数 互不相同
题解:
class Solution:
def rob(self, nums: [int]) -> [int]:
# 数组的长度
len_n = len(nums)
if len_n == 1:
# 长度为1时,直接返回
return nums
else:
# 数组排序,方便整除子集的取得
nums.sort()
r_n = []
i = len_n - 2
n_dict = {nums[len_n-1]: [nums[len_n-1]]}
while i &g