题目链接

【题解】

先明确一点假设给的数字有n个。
那么最后的答案最情况下就是n+1
首先我们先判断一下所给的数组里面有没有1
如果没有直接返回1
否则。
把数组中所有的范围超过n或者小于1的数字全都改成数字1
然后扫描一遍整个数组。
for(int i = 0;i

【代码】

class Solution {
public:
int firstMissingPositive(vector<int>& nums) {
bool ok = false;
for (int x:nums){
if (x==1){
ok = true;
}
}
if (!ok) return 1;
int len = nums.size();
for (int i = 0;i < len;i++){
if (nums[i]>len || nums[i]<1){
nums[i] = 1;
}
}
for (int i = 0;i < len;i++){
int x = nums[i];
if (x<0){
x=-x;
}
nums[x-1]=-abs(nums[x-1]);
}
for (int i = 0;i < len;i++)
if (nums[i]>0)
return i+1;
return len+1;
}
};

最新文章

  1. 如何理解T-SQL中Merge语句(二)
  2. 【WP开发】读写剪贴板
  3. XML前言
  4. asp.net core + angular2 的环境配置
  5. torisegit 保存帐号密码
  6. windows编程初步
  7. eclipse中project facet问题
  8. idea Artifact mdn:war exploded: Server is not connected. Deploy is not available.
  9. gdb命令调试技巧
  10. hustOJ 添加 golang 支持
  11. npoi实现数据导出Excel
  12. VS2015/Visual Studio快捷键无效问题
  13. GCC卡常
  14. 环境的配置; host 配置地址
  15. DataTables页面列点击排序
  16. Makefile经典教程(一个很棒很清晰的讲解)【转】
  17. 关于ie6出现的问题的原因归结
  18. Cracking The Coding Interview 4.1
  19. php算法面试案例(转)
  20. whith ~ as 用法

热门文章

  1. 常见HTTP错误代码
  2. 三线SWD模式Jlink
  3. HTML最全标签
  4. Openstack Restful API 开发框架 Paste + PasteDeploy + Routes + WebOb
  5. 测开之路四十八:Django之重定向与cookie
  6. Nginx+Tomcat Session 无效问题
  7. Webshell免杀
  8. 爬取拉勾网python工程师的岗位信息并生成csv文件
  9. Java_3.Java帮助文档
  10. 【题解】图的m着色问题