Browse Source

leetcode 368

master
OhYee 2 years ago
parent
commit
f14be13ebb
Signed by: OhYee
GPG Key ID: 5A9E1F63ED274FBB
  1. 36
      leetcode/368/368.go

36
leetcode/368/368.go

@ -0,0 +1,36 @@ @@ -0,0 +1,36 @@
func max(a, b int) int {
if a > b {
return a
}
return b
}
func largestDivisibleSubset(nums []int) []int {
n := len(nums)
if n <= 1 {
return nums
}
sort.Ints(nums)
dp := make([][]int, n)
for i := 0; i < n; i++ {
dp[i] = []int{nums[i]}
}
idx := -1
for i := 1; i < n; i++ {
for j := 0; j < i; j++ {
if (nums[i] % nums[j]) == 0 && len(dp[j]) + 1 > len(dp[i]) {
copy(dp[i], dp[j])
dp[i] = append(dp[i], nums[i])
}
if idx == -1 || len(dp[idx]) < len(dp[i]) {
idx = i
}
}
}
fmt.Println(dp)
return dp[idx]
}
Loading…
Cancel
Save