您的位置:首页 > 其它

leetcode:First Missing Positive 菜鸟解法

2014-12-21 17:24 267 查看
这题要求只能用常数个空间,不过int这个东西能表示的正整数本来也就是有限的,所以我们不妨设置一个数组index,数组的每个值等于该值index的整数出现的次数,找出第一个出现次数为0的正整数就好,代码如下:

class Solution {
public:
int firstMissingPositive(int A[], int n) {
int index[65536] = {0};
int i;
for(i =0;i<n;i++){
if(A[i]>0) index[A[i]]+=1;
}
for(i=1;i<65536;i++ ){
if(index[i]==0) return i;
}
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息