首页 > 其他分享 >217.存在重复元素

217.存在重复元素

时间:2023-10-19 16:50:00浏览次数:31  
标签:217 set return nums 重复 self 元素 len True

目录

1.题目

  • 给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 。

示例 1:

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

示例 2:

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

法一、暴力法

  • 超时了(无奈)
class Solution:
    def containsDuplicate(self, nums: List[int]) -> bool:
        for i in range(len(nums)):
            for j in range(i):
                if nums[i] == nums[j]:
                    return True
                j+=1
            i+=1
        return False

法二、先排序后比较

  • 鉴于法一的两个for循环时间超了,想到先排序,排好序只用一次for循环比较前后两个元素是否相同即可。
class Solution:
    def containsDuplicate(self, nums: List[int]) -> bool:
        nums = sorted(nums)
        for i in range (len(nums)-1):#注意范围
            if nums[i] == nums[i+1]:
                return True
            i+=1    
        return False

法三、利用set去重特性

  • 思路:set去重,再判断二者是否长度是否一致
class Solution(object):
    def containsDuplicate(self, nums):
        if len(set(nums)) != len(nums):
            return True
        else:
            return False

标签:217,set,return,nums,重复,self,元素,len,True
From: https://www.cnblogs.com/lushuang55/p/17775060.html

相关文章

  • css多个元素一行排列的方法
    1、弹性盒子模型(FlexBox),不考虑兼容性问题的情况下,建议新手直接使用这种模式,简单,最重要的是元素不会浮动,不会影响后面的元素的布局,比如下面代码中的我在底层这个div的显示没有任何影响。<html><head><style>#tasklist{background-col......
  • 287. 寻找重复数
    给定一个包含n+1个整数的数组nums,其数字都在[1,n]范围内(包括1和n),可知至少存在一个重复的整数。假设nums只有一个重复的整数,返回这个重复的数。你设计的解决方案必须不修改数组nums且只用常量级O(1)的额外空间。示例1:输入:nums=[1,3,4,2,2]输出:2......
  • 研发日常踩坑-Mysql分页数据重复 | 京东云技术团队
    踩坑描述:写分页查询接口,orderby和limit混用的时候,出现了排序的混乱情况在进行第N页查询时,出现与第一前面页码的数据一样的记录。问题在MySQL中分页查询,我们经常会用limit,如:limit(0,20)表示查询第一页的20条数据,limit(20,20)表示查询第二页的数据。业务上我们通常也会在分页的时......
  • addEventListener()元素事件监听的用法及事件汇总
     addEventListener() 方法用于给元素添加监听事件,同一个元素可以重复添加,并且不会覆盖之前相同事件,用removeEventListener()方法来移除事件。使用方法:1vararberNameFilter=document.getElementById("arber_name_filter");2arberNameFilter.addEventListener("focus",......
  • 如何将一个元素插入到数组的特定索引位置?
    内容来自DOChttps://q.houxu6.top/?s=如何将一个元素插入到数组的特定索引位置?我正在寻找一个JavaScript数组插入方法,类似于:arr.insert(index,item)最好是在jQuery中,但任何JavaScript实现都可以。你想要在原生数组对象上使用splice函数。arr.splice(index,0,item......
  • div通过append添加的元素无法通过jquery元素选择器选择
    $("#"+msgid).append(data+'<br><br><br><divclass="box-copy"id='+copyid+'>复制内容</div>')此时无法通使用$(".box-copy").click()需要使用:$(document).on('click','......
  • Acwing 800.数组元素的目标和,双指针初步
    Acwing800.数组元素的目标和给定升序的有序数组A(长度为n),B(长度为m)以及目标值x,求出满足\(A[i]+B[j]=x\)的数对\((i,j)\),题目保证仅有唯一解输入样例:456124734689输出样例:11双指针来做定义指针i,j,其中i指向A,j指向B,且i=0,指向A的首元素,j=m-1,指向B的末......
  • 169. 多数元素
    给定一个大小为n的数组nums,返回其中的多数元素。多数元素是指在数组中出现次数大于⌊n/2⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例1:输入:nums=[3,2,3]输出:3思路本题常见的三种解法:哈希表统计法:遍历数组nums,用HashMap......
  • 修改input元素placeholder字体颜色
    1/*webkit*/2::-webkit-input-placeholder{3color:#ffffff;4}5/*MozillaFirefox4to18*/6:-moz-placeholder{7color:#ffffff;8}9/*MozillaFirefox19+*/10::-moz-placeholder{11color:#ffffff;12}13/*Interne......
  • 12_前K个高频元素
    前K个高频元素给你一个整数数组nums和一个整数k,请你返回其中出现频率前k高的元素。你可以按任意顺序返回答案。347.力扣题目链接示例1:输入:nums=[1,1,1,2,2,3],k=2输出:[1,2]示例2:输入:nums=[1],k=1输出:[1]提示:1<=nums.length<=105k......