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. 缺失的第一个正数的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 41. 缺失的第一个正数 | Python

[leetcode] 41. 缺失的第一个正数

leetcode 41 缺失的第一个正数

leetcode——41. 缺失的第一个正数

LeetCode 41. 缺失的第一个正数

Leetcode-41. 缺失的第一个正数