数组中未出现的最小正整数(算法)
2015-09-05 14:09
302 查看
【题目】
给定一个无序整型数组arr,找到数组中未出现的最小正整数。
【举例】
arr=[-1,2,3,4]。返回1。
arr=[1,2,3,4]。返回5。
给定一个无序整型数组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; }
相关文章推荐
- 【C++】默认构造函数
- 【读书笔记】数据库逻辑结构
- cocos植物大战僵尸(二)主菜单场景:单例类
- python第二天 - 异常处理
- ontouch
- Linux系统管理-(11)-网络配置ifcfg家族
- HDU 2072 单词数 -- C++ string set 统计不同的单词数目
- [最大流]UVa11082
- 40 Combination Sum II
- 4.7.5 Efficient Construction of LALR Parsing Tables
- Java文件上传下载
- JBOSS学习-一些基本配置了解
- Standard Compilation & OSR
- 早起5个迹象说明体内湿寒
- 财付通安全性存疑:资金频被盗刷
- Codeforces 567C Geometric Progression (离散 + DP)
- sizeof求结构体所占空间大小
- Spring学习之注入方式
- Stanford机器学习---第十讲. 数据降维
- 粒子群算法1