leetcode-First Missing Positive(2014.2.25)
哈希的思想是能夠在常數時間內進行查找,哈希函數是具體的實現方法,應當各有不同。
class Solution {
public:
int firstMissingPositive(int A[], int n) {
if(n<=0) return 1;
for(int i=0;i<n;i++){
if(A[i]<=0) A[i]=n+3;//n+3爲安全值
}
for(int i=0;i<n;i++){
if(abs(A[i])<=n) A[abs(A[i])-1]=-abs(A[abs(A[i])-1]);
}
for(int i=0;i<n;i++){
if(A[i]>0) return i+1;
}
return n+1;
}
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.