123456789101112131415161718 |
- func findDuplicates(nums []int) (res []int) {
- n := len(nums)
- for i := 0; i < n; i++ {
- if idx := abs(nums[i]) - 1; nums[idx] < 0 {
- res = append(res, idx+1) // Twice
- } else {
- nums[idx] = -nums[idx] // Once
- }
- }
- return res
- }
- func abs(x int) int {
- if x < 0 {
- return -x
- }
- return x
- }
|