leetcode 368 最大整除子集

2021-10-02 13:35:31 字數 475 閱讀 5451

思路:其實和最長上公升子串行的思路基本一致。

dp[i]表示以nums[i]結尾的最大的整數子集。dp[i]=max(dp[j]+1,dp[i]) 其中nums[j]%nums[i]==0||nums[i]%nums[j]==0

為了避免6 2 4 這樣的序列出現,只需先對nums進行一下排序即可。

需要輸出子集,那麼只要開乙個path陣列,記錄一下路徑即可。

class solution 

int index=0;

int m=0;

for(int i=1;i<=n;i++)

dp[i]=max(dp[j]+1,dp[i]);}}

if(dp[i]>m)

}vec.push_back(nums[index-1]);

while(path[index]!=index)

return vec;

}};

LeetCode368 最大整除子集

給出乙個由無重複的正整數組成的集合,找出其中最大的整除子集,子集中任意一對 si,sj 都要滿足 si sj 0 或 sj si 0。如果有多個目標子集,返回其中任何乙個均可。示例 1 輸入 1,2,3 輸出 1,2 當然,1,3 也正確 示例 2 輸入 1,2,4,8 輸出 1,2,4,8 然後可...

LeetCode 368 最大整除子集(DP)

給出乙個由無重複的正整數組成的集合,找出其中最大的整除子集,子集中任意一對 si,sj 都要滿足 si sj 0 或 sj si 0。如果有多個目標子集,返回其中任何乙個均可。示例 1 輸入 1 2,3 輸出 1 2 當然,1 3 也正確 示例 2 輸入 1 2,4 8 輸出 1 2,4 8 類似題...

368 最大整除子集

給出乙個由無重複的正整數組成的集合,找出其中最大的整除子集,子集中任意一對 si,sj 都要滿足 si sj 0 或 sj si 0。如果有多個目標子集,返回其中任何乙個均可。示例 1 輸入 1,2,3 輸出 1,2 當然,1,3 也正確 示例 2 輸入 1,2,4,8 輸出 1,2,4,8 思路 ...