LeetCode:缺失的第一个正数【41】

题目描述

给定一个未排序的整数数组,找出其中没有出现的最小的正整数。

示例 1:

  输入: [1,2,0]
  输出: 3
示例 2:

  输入: [3,4,-1,1]
  输出: 2
示例 3:

  输入: [7,8,9,11,12]
  输出: 1
说明:

你的算法的时间复杂度应为O(n),并且只能使用常数级别的空间。

题目分析

  参照链接:https://leetcode-cn.com/problems/first-missing-positive/solution/tong-pai-xu-python-dai-ma-by-liweiwei1419/

Java题解

class Solution {
public int firstMissingPositive(int[] nums) {
int len = nums.length;
for(int i = 0;i<len;){
int t = nums[i];
if(t>0&&t<=len&&t!=nums[t-1])
swap(nums,i,t-1);
else
i++;
} for (int i = 0; i < len; i++) {
if (i + 1 != nums[i]) {
return i + 1;
}
}
return len + 1;
} //数组元素交换
public void swap(int[] nums,int i,int j) {
int tmp = nums[i];
nums[i] = nums[j];
nums[j] = tmp;
}
}

最新文章

  1. android nagative drawer图标跟标题适配
  2. OSI七层模型
  3. 《大话》之 装饰模式 Vs 建造者模式
  4. 【web必知必会】——图解HTTP(上)
  5. CSS绝对定位和相对定位 position: absolute/relative
  6. 小黄豆CRM软件安装
  7. shell复习笔记----查找与替换
  8. Linux2.6内核--对块IO层操作的讨论
  9. ubuntu 引导删除
  10. hihoCoder1319 岛屿周长 (bfs)
  11. Linux 学习笔记_12_文件共享服务_4_SSH
  12. 使用 ASP.NET Core MVC 创建 Web API(四)
  13. node+ejs模板引擎的应用
  14. 干货---stm32f103之DMA双缓冲__也算我为网络贡献的微薄之力
  15. scrapy 安装
  16. IE和DOM事件流
  17. 1.环境搭建-mysql+tomcat+myeclipse安装并配置
  18. Deep Q-Network 学习笔记(五)—— 改进③:Prioritized Replay 算法
  19. vue项目中遇到的一些问题
  20. Kali linux更新源

热门文章

  1. 基于Chrome内核(WebKit内核)定制开发DoNet浏览器
  2. Linux TTY介绍
  3. VS2005编译QT4.8.2
  4. MySQL命令操作(Linux平台)
  5. C++报错:全局变量重定义或是多次定义
  6. [NPM + React] Prepare a Custom React Hook to be Published as an npm Package
  7. BZOJ1113 海报PLA1(单调栈入门题)
  8. 将idea中xml文件背景颜色去除(转)
  9. 洛谷 P2341 [HAOI2006]受欢迎的牛 题解
  10. MySQL 为什么不用分区表(转载)