不会飞的章鱼

熟能生巧,勤能补拙;念念不忘,必有回响。

Leetcode-448-Find All Numbers Disappeared in an Array | 找到所有数组中消失的数字

题目链接

Find All Numbers Disappeared in an Array

解析

题目意思是找出1~n(n是指数组的长度)内没有出现的数。例如[4,3,2,7,8,2,3,1]里1~8没有出现的数有5,6,所以输出就是[5,6]。

Golang

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
func findDisappearedNumbers(nums []int) []int {
n := len(nums) //获取数组的长度
for i := 0;i < n;i++ {
for nums[i]-1 != i && nums[i] != nums[nums[i]-1] {
nums[i],nums[nums[i]-1] = nums[nums[i]-1],nums[i] //交换位置
}
}

ans := []int{}
for i := 0;i < n;i++ {
if nums[i]-1 != i {
ans = append(ans,i+1)
}
}

return ans

}
------ 本文结束------
如果本篇文章对你有帮助,可以给作者加个鸡腿~(*^__^*),感谢鼓励与支持!