time O(n) space O(1)

class Solution {
public:
int firstMissingPositive(vector<int>& nums) {
//从1开始将范围内的整数交换到对应的位置
int len=nums.size();
int res=; for(int i=;i<len;i++){
int x=i;
/*//show every state before swap
cout<<"nums["<<i<<"]: "<<endl;
for(int j=0;j<len;j++)
cout<<nums[j]<<",";
cout<<endl;*/
while(nums[x]> && nums[x]<len && nums[x]!=nums[nums[x]-]){
swap(nums[x],nums[nums[x]-]);
/*//show every swap result
for(int j=0;j<len;j++)
cout<<nums[j]<<",";
cout<<endl;*/
} }
for(int i=;i<len;i++){
if(nums[i]!=i+) break;
res++;
}
return res;
}
};

最新文章

  1. session的销毁
  2. 如何解决Selenium中"Cannot find function addEventListener in object [object HTMLDocument]"的错误
  3. MPAndroidChart饼图属性及相关设置
  4. 【POJ】2151 Check the difficulty of problems
  5. Zepto源码
  6. 使用cnblogs.com的用户体验和提出来的建议
  7. .NET特性-Attribute
  8. 移除UIView上面的所有控件
  9. android 他们定义对话框
  10. 【WCF】错误处理(一):FaultException 与 FaultReason 的搭配
  11. ORACLE透明网关访问SQL Server配置总结
  12. Redis监控工具,命令和调优
  13. UVA10562(看图写树,dfs)
  14. SSM商城项目(十一)
  15. MHA-手动Failover流程(传统复制&amp;GTID复制)
  16. 使用github(一)
  17. ssm 配置多个数据源
  18. Codeforces Round #492 (Div. 2)
  19. vue的初识与简单使用---前后端分离通过接口调取数据
  20. 为什么使用Reazor

热门文章

  1. vue项目中使用mockjs+axios模拟后台数据返回
  2. 查看Linux服务器硬件信息
  3. 11、find查找
  4. Linux grep命令 -- 三剑客老三
  5. Zookeeper常见问题FAQ
  6. 高性能mysql 第4章 Schema与数据类型优化
  7. noi.ac NA536 【打地鼠】
  8. requests结合xpath爬取豆瓣最新上映电影
  9. 2017 去哪儿网 研发4.18(offer)
  10. C# JSON的序列化与反序列化