在包含 n+1 个数的序列 a 中找出重复的数。序列 a 中包含从 1 到 n 的整数,且只有一个数有重复值。
要求时间复杂度为 O(n),额外空间复杂度为 O(1)。
要求时间复杂度为 O(n),额外空间复杂度为 O(1)。
class Solution {public: int search(int n, vector<int>& a) { for (int i = 0; i < a.size(); i++) { if (a[abs(a[i]) - 1] < 0) { return abs(a[i]); } else { a[abs(a[i]) - 1] = -a[abs(a[i]) - 1]; } } return -1; }};
谁能告诉我n有什么用
func search( n int , a []int ) int { m:=make(map[int]bool) for _,v:=range a{ if _,ok:=m[v];ok{ return v }else { m[v]=true } } return 0 }