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;
    }
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章