您的位置:首页 > 其它

数组中未出现的最小正整数(算法)

2015-09-05 14:09 302 查看
【题目】

给定一个无序整型数组arr,找到数组中未出现的最小正整数。

【举例】

arr=[-1,2,3,4]。返回1。

arr=[1,2,3,4]。返回5。

public int missmin(int []arr)
{
int l = 0;
int r = arr.length();
while(l < r )
{
if(arr[l] == l + 1)
l ++;
else if(arr[l] <= l || arr[l] > r || arr[arr[l] - 1] == arr[l])
arr[l] = arr[--r];
else
swap(arr[l], arr[arr[l] - 1]);
}
return l + 1;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: