Leetcode: 368. Largest Divisible Subset
2016-09-17 20:21
302 查看
Given a set of distinct positive integers, find the largest subset such that every pair (Si, Sj) of elements in this subset satisfies: Si % Sj = 0 or Sj % Si = 0.
If there are multiple solutions, return any subset is fine.
Example 1:
nums: [1,2,3]
Result: [1,2] (of course, [1,3] will also be ok)
Example 2:
nums: [1,2,4,8]
Result: [1,2,4,8]
解法:
动态规划
If there are multiple solutions, return any subset is fine.
Example 1:
nums: [1,2,3]
Result: [1,2] (of course, [1,3] will also be ok)
Example 2:
nums: [1,2,4,8]
Result: [1,2,4,8]
解法:
动态规划
class Solution { public: vector<int> largestDivisibleSubset(vector<int>& nums) { vector<int> result; vector<int> table(nums.size(), 1); vector<int> pre(nums.size(), -1); if (nums.empty()) return result; sort(nums.begin(), nums.end()); for (int i = 1; i < table.size(); ++i) { for (int j = i-1; j >= 0; --j) { if ((nums[i] % nums[j]) == 0) { if (table[j] + 1 > table[i]) { table[i] = table[j] + 1; pre[i] = j; } } } } int max = 0; int idx = 0; for (int i = 0; i < table.size(); ++i) { if (table[i] > max) { idx = i; max = table[i]; } } do { result.push_back(nums[idx]); idx = pre[idx]; } while(idx >= 0); return result; } };
相关文章推荐
- [LeetCode]368. Largest Divisible Subset
- [LeetCode]368. Largest Divisible Subset(自学留存)
- [leetcode] 368. Largest Divisible Subset
- Leetcode: Largest Divisible Subset
- LeetCode: Partition Equal Subset Sum
- LeetCode "Largest Divisible Subset" !
- Leetcode 368. Largest Divisible Subset
- LeetCode(78)Subset
- Leetcode 368. Largest Divisible Subset (Medium) (cpp)
- 子集系列(一) 传统subset 问题,例 [LeetCode] Subset, Subset II, Bloomberg 的一道面试题
- leetcode--- Partition Equal Subset Sum---动规
- 【Leetcode】Largest Divisible Subset
- [LeetCode] Partition Equal Subset Sum
- leetcode 416 c++. Partition Equal Subset Sum
- LeetCode—368. Largest Divisible Subset
- Subset leetcode java
- LeetCode[368] Largest Divisible Subset
- LeetCode-Largest Divisble Subset
- Partition Equal Subset Sum - leetcode 416号题目个人题解
- leetcode78subset