Skip to content

Instantly share code, notes, and snippets.

@MorrisLaw
Last active January 22, 2022 17:41
Show Gist options
  • Save MorrisLaw/49e570017ffbf090fe8ab7a33ab9baca to your computer and use it in GitHub Desktop.
Save MorrisLaw/49e570017ffbf090fe8ab7a33ab9baca to your computer and use it in GitHub Desktop.
failed
func merge(nums1 []int, m int, nums2 []int, n int) {
j := n-1
if m == 0 {
for i := len(nums1)-1; i >= 0; i-- {
nums1[i] = nums2[j]
j--
}
}
k := len(nums1)-1
for i := m-1; i >= 0; i-- {
if j < 0 {
nums1[k] = nums1[i]
k--
} else if nums1[i] > nums2[j] {
nums1[k] = nums1[i]
k--
} else if nums1[i] < nums2[j] {
nums1[k] = nums2[j]
k--
j--
i++ // to maintain the current i position
} else if nums1[i] == nums2[j] {
nums1[k] = nums1[i]
k--
}
}
if j >= 0 {
for k >= 0 {
nums1[k] = nums2[j]
k--
j--
}
}
}
@MorrisLaw
Copy link
Author

fixed now

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment