[Leedcode][JAVA][第41题][缺失的第一个正数][哈希表][数组]
生活随笔
收集整理的這篇文章主要介紹了
[Leedcode][JAVA][第41题][缺失的第一个正数][哈希表][数组]
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
【問(wèn)題描述】[困難]
給你一個(gè)未排序的整數(shù)數(shù)組,請(qǐng)你找出其中沒(méi)有出現(xiàn)的最小的正整數(shù)。示例 1:輸入: [1,2,0] 輸出: 3 示例 2:輸入: [3,4,-1,1] 輸出: 2 示例 3:輸入: [7,8,9,11,12] 輸出: 1提示:你的算法的時(shí)間復(fù)雜度應(yīng)為O(n),并且只能使用常數(shù)級(jí)別的額外空間。【解答思路】
1. 哈希表思想
時(shí)間復(fù)雜度:O(N) 空間復(fù)雜度:O(1)
2. 置換
時(shí)間復(fù)雜度:O(N) 空間復(fù)雜度:O(1)
3. 不符合題意
時(shí)間復(fù)雜度:O(N) 空間復(fù)雜度:O(N)
HashSet
排序遍歷
時(shí)間復(fù)雜度:O(N^2) 空間復(fù)雜度:O(1)
【總結(jié)】
1.HashSet 沒(méi)有的話我們提取其思想 自己干一個(gè)!
2.細(xì)節(jié)
//數(shù)組排序 int[] array = {10, 3, 6, 1, 4, 5, 9}; Arrays.sort(array);//Collections 下面主要有Set 和List // asList int[] arr = {2,4,6,8,10}; Integer[] arrInteger = {2,4,6,8,10}; List list = Arrays.asList(arr); //list大小為1 數(shù)組類(lèi)型 List list1 = Arrays.asList(arrInteger);//list大小為1 Integer類(lèi)型 //List 逆轉(zhuǎn) Collections.reverse(list1);//冒泡交換//List 正降序排序 List<Integer> list = new ArrayList<Integer>(Arrays.asList(10, 3, 6, 1, 4, 5, 9)); Collections.sort(list); Comparator<Integer> reverseComparator = Collections.reverseOrder(); Collections.sort(list, reverseComparator);3.端午節(jié)假期愉快~
轉(zhuǎn)載鏈接:https://leetcode-cn.com/problems/first-missing-positive/solution/que-shi-de-di-yi-ge-zheng-shu-by-leetcode-solution/
總結(jié)
以上是生活随笔為你收集整理的[Leedcode][JAVA][第41题][缺失的第一个正数][哈希表][数组]的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 网络安全实施方案
- 下一篇: inittab脚本启动解析 (zz)