Largest Divisible Subset LeetCode solution in Python
1class Solution:2def largestDivisibleSubset(self, nums: List[int]) -> List[int]:3nums.sort()4n = len(nums)5dp = [1 for i in range(n)]6hashh = [i for i in range(n)]7ans_ind = 089for i in range(1, n):10for j in range(0, i):11if nums[i] % nums[j] == 0 and dp[j] + 1 > dp[i]:12dp[i] = dp[j] + 113hashh[i] = j1415# print(dp)16# print(hashh)17out = []18maxi = dp[0]1920for i in range(len(nums)):21if dp[i] > maxi:22ans_ind = i23maxi = dp[i]2425while hashh[ans_ind] != ans_ind:26out.append(nums[ans_ind])27ans_ind = hashh[ans_ind]28out.append(nums[ans_ind])29return out