add new solutions

This commit is contained in:
kanna5 2026-01-05 16:48:03 +09:00
parent 9a10695e8c
commit ca24d0a56a
Signed by: kkyy
GPG key ID: 06332F3965E9B0CF
30 changed files with 697 additions and 16 deletions

View file

@ -0,0 +1,42 @@
package q2215
import "slices"
func skip(nums []int, i int) int {
if i < len(nums) {
for c := nums[i]; i < len(nums) && nums[i] == c; i++ {
}
}
return i
}
func findDifference(nums1 []int, nums2 []int) [][]int {
slices.Sort(nums1)
slices.Sort(nums2)
d1 := []int{}
d2 := []int{}
i1, i2 := 0, 0
for i1 < len(nums1) || i2 < len(nums2) {
// num2[i2] is unique
if i1 == len(nums1) || i2 < len(nums2) && nums2[i2] < nums1[i1] {
d2 = append(d2, nums2[i2])
i2 = skip(nums2, i2)
continue
}
// num1[i1] is unique
if i2 == len(nums2) || i1 < len(nums1) && nums1[i1] < nums2[i2] {
d1 = append(d1, nums1[i1])
i1 = skip(nums1, i1)
continue
}
i1 = skip(nums1, i1)
i2 = skip(nums2, i2)
}
return [][]int{d1, d2}
}
var _ = findDifference