Lc41_缺失的第一個正數
阿新 • • 發佈:2020-07-15
//給你一個未排序的整數陣列,請你找出其中沒有出現的最小的正整數。 // // // // 示例 1: // // 輸入: [1,2,0] //輸出: 3 // // // 示例 2: // // 輸入: [3,4,-1,1] //輸出: 2 // // // 示例 3: // // 輸入: [7,8,9,11,12] //輸出: 1 // // // // // 提示: // // 你的演算法的時間複雜度應為O(n),並且只能使用常數級別的額外空間。 // Related Topics 陣列 package leetcode.editor.cn; import java.util.HashMap; import java.util.Map; //Java:缺失的第一個正數 public class P41FirstMissingPositive{ public static void main(String[] args) { Solution solution = new P41FirstMissingPositive().new Solution(); // TO TEST int[] nums = {1,2,0}; System.out.println(solution.firstMissingPositive(nums)); } //leetcode submit region begin(Prohibit modification and deletion) class Solution { public int firstMissingPositive(int[] nums) { Map<Integer,Integer> map = new HashMap<>(); for (int i = 0; i < nums.length; i++) { map.put(nums[i],nums[i]); } for (int i = 1; ; i++) { if(!map.containsKey(i)){ return i; } } } } //leetcode submit region end(Prohibit modification and deletion) }