leetcode——41. 缺失的第一个正数
Posted 欣姐姐
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode——41. 缺失的第一个正数相关的知识,希望对你有一定的参考价值。
class Solution(object): def firstMissingPositive(self, nums): """ :type nums: List[int] :rtype: int """ if nums==[]: return 1 for i in nums: if i<=0: nums.remove(i) if nums==[]: return 1 for i in range(1,len(nums)+1): if i not in nums: return i return len(nums)+1
执行用时 :24 ms, 在所有 python 提交中击败了90.19%的用户
内存消耗 :11.8 MB, 在所有 python 提交中击败了26.09%的用户
——2019.10.14
复习,用java又写了一遍:
public int firstMissingPositive(int[] nums) { if(nums.length == 0){ return 1; } Arrays.sort(nums); ArrayList<Integer> list = new ArrayList<>(); list.add(nums[0]); for(int i = 1;i<nums.length;i++){ if(nums[i] == nums[i-1]){ continue; }else{ list.add(nums[i]); } } int[] a = list.stream().mapToInt(Integer::valueOf).toArray(); int i = 1; int k = 0; while(k<a.length){ if(a[k]<=0){ k++; }else if(a[k] != i){ return i; }else{ i++; k++; } } return i; }
效率并没有很好。
——2020.7.6
以上是关于leetcode——41. 缺失的第一个正数的主要内容,如果未能解决你的问题,请参考以下文章