Leetcode|287. 寻找重复数【笔记】

64. 最小路径和【笔记】

  • 链接
  • 前言
  • 题目
  • 关键
  • 本人思路
  • 本人思路2
  • 疑问
  • 参考

链接

https://leetcode-cn.com/problems/minimum-path-sum/

前言

题目

给定一个包含 n + 1 个整数的数组 nums ,其数字都在 1n 之间(包括 1n),可知至少存在一个重复的整数。

假设 nums 只有一个重复的整数 ,找出这个重复的数
示例1:

输入:nums = [1,3,4,2,2]
输出:2

示例 2:

输入:nums = [3,1,3,4,2]
输出:3

示例 3:

输入:nums = [1,1]
输出:1

示例 4:

输入:nums = [1,1,2]
输出:1

关键

本人思路

  • 数元素的个数
  • 返回元素个数最多的那个Key
class Solution:
    def findDuplicate(self, nums: List[int]) -> int:
        counter = collections.Counter(nums)
        return max(counter, key=counter.get)
  • 跟题169. 多数元素相似
  • 但内存消耗大,得进一步优化

本人思路2

  • 用异或之类的方法求,暂时没做出来

疑问

参考

你可能感兴趣的:(Leetcode,leetcode,算法,数据结构,python)