算法17(力扣217)存在重复元素

1、问题

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

2、示例

(1)    示例 1:

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

            输出:true

            解释: 元素 1 在下标 0 和 3 出现

(2)      示例 2:

            输入:nums = [1,2,3,4]<br>

            输出:false

            解释: 所有元素都不同。

(3)

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

            输出:true

3、实现思路

        统计各项出现的频次,然后通过sort排序,最后将数组传给一个函数判断返回值

4、具体步骤

(1) 统计各项出现的频次、完整代码

(2)将map数组转换为[key,value]数组

(3)将数组传给一个函数判断返回值

5、完整代码

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>存在重复元素</title>
  </head>
  <body>
    <p>
        给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 。
    </p>
    <p>
        <p>
            示例 1:<br>
            输入:nums = [1,2,3,1]<br>

            输出:true<br>

            解释:<br>

            元素 1 在下标 0 和 3 出现<br>
        </p>
        <p>
            示例 2:

            输入:nums = [1,2,3,4]<br>

            输出:false<br>

            解释:<br>

            所有元素都不同。<br>
        </p>
        <p>
            输入:nums = [1,1,1,3,3,4,3,2,4,2]<br>

            输出:true<br>
        </p>
    </p>
    <p>
        统计各项出现的频次,然后通过sort排序,最后将值传给一个函数判断返回值
    </p>
    <script>
        let nums = [1,1,1,3,3,4,3,2,4,2]
        containsDuplicate(nums)
        function containsDuplicate(nums) {
            const newMap = new Map()
            nums.forEach(item => {
                if (newMap.has(item)) {
                    newMap.set(item,newMap.get(item)+1)
                }else{
                    newMap.set(item,1)
                }
            });
            // console.log(newMap);
            const mapArray = Array.from(newMap.entries());
            mapArray.sort((a,b)=>b[1]-a[1])    
            // console.log(mapArray);
            // console.log(checkIt(mapArray));
            return checkIt(mapArray)
            function checkIt(arr) {
                for (let i = 0; i < arr.length; i++) {
                   if (arr[i][1]>=2) {
                    return true
                   }
                    
                }
                return false
            }

        }
    </script>
  </body>
</html>

6、力扣通过代码

/**
 * @param {number[]} nums
 * @return {boolean}
 */
var containsDuplicate = function(nums) {
            const newMap = new Map()
            nums.forEach(item => {
                if (newMap.has(item)) {
                    newMap.set(item,newMap.get(item)+1)
                }else{
                    newMap.set(item,1)
                }
            });
            // console.log(newMap);
            const mapArray = Array.from(newMap.entries());
            mapArray.sort((a,b)=>b[1]-a[1])    
            // console.log(mapArray);
            // console.log(checkIt(mapArray));
            return checkIt(mapArray)
            function checkIt(arr) {
                for (let i = 0; i < arr.length; i++) {
                   if (arr[i][1]>=2) {
                    return true
                   }
                    
                }
                return false
            }

    
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/968948.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

时间盲注,boolen盲注,获取表、列、具体数据的函数

boolen盲注 import requestsdef boolean_based_injection(url, payload_template):"""布尔盲注的核心函数&#xff0c;通过二分法逐字符推断数据。"""result for i in range(1, 50): # 假设目标字段长度不超过50low, high 32, 128 # ASCII码…

c#展示网页并获取网页上触发按钮的值进行系统业务逻辑处理

日前项目上遇到需要调用一个第三方的监控接口&#xff0c;给对方参数后&#xff0c;会返回一个url地址&#xff0c;我方系统需要根据用户在网页上点击的不同按钮&#xff0c;要求如下&#xff1a;在打开违规提醒窗口时&#xff0c;需要注册Callback方法&#xff08;含一个字符串…

渗透测试--文件包含漏洞

文件包含漏洞 前言 《Web安全实战》系列集合了WEB类常见的各种漏洞&#xff0c;笔者根据自己在Web安全领域中学习和工作的经验&#xff0c;对漏洞原理和漏洞利用面进行了总结分析&#xff0c;致力于漏洞准确性、丰富性&#xff0c;希望对WEB安全工作者、WEB安全学习者能有所帮助…

深入浅出Java反射:掌握动态编程的艺术

小程一言反射何为反射反射核心类反射的基本使用获取Class对象创建对象调用方法访问字段 示例程序应用场景优缺点分析优点缺点 注意 再深入一些反射与泛型反射与注解反射与动态代理反射与类加载器 结语 小程一言 本专栏是对Java知识点的总结。在学习Java的过程中&#xff0c;学习…

QGIS如何查看海拔剖面图

一、基础概念与工具准备 地形剖面图定义 地形剖面图是沿地表某一直线方向的垂直断面图&#xff0c;用于展示地势起伏、坡度变化和海拔分布。其核心要素包括水平距离轴&#xff08;X轴&#xff09;和海拔高度轴&#xff08;Y轴&#xff09;&#xff0c;可通过等高线或数字高程模…

vnctf2025--学生姓名登记系统

首先进入靶场 先随便输入一个123试试 这个地方将123直接回显出来&#xff0c;很有可能是ssti模板注入&#xff0c;输入{{7*7}}看看是否回显 回显49&#xff0c;说明确实有这个漏洞 现在知道是ssti模板注入了&#xff0c;下一步应该是确定模板引擎是什么 这个时候需要看题目给…

清华大学新闻与传播学院沈阳团队出品的《DeepSeek:从入门到精通》104页PDF

前言 本机运行DeepSeek R1大模型文章如下&#xff1a; Windows电脑本地部署运行DeepSeek R1大模型&#xff08;基于Ollama和Chatbox&#xff09;【保姆级万字教程】在Windows计算机部署DeepSeek大模型&#xff0c;给在实验室无外网的同事们用&#xff08;基于Ollama和OpenWebUI…

Jenkins 通过 Execute Shell 执行 shell 脚本 七

Jenkins 通过 Execute Shell 执行 shell 脚本 七 一、创建 .sh 文件 项目目录下新建 .sh 文件 jenkins-script\shell\ci_android_master.sh添加 Execute Shell 模块 在 Command 中添加 # 获取 .sh 路径 CI_ANDROID_MASTER_PATH"${WORKSPACE}/jenkins-script/shell/…

开发完的小程序如何分包

好几次了&#xff0c;终于想起来写个笔记记一下 我最开始并不会给小程序分包&#xff0c;然后我就各种搜&#xff0c;发现讲的基本上都是开发之前的小程序分包&#xff0c;可是我都开发完要发布了&#xff0c;提示我说主包太大需要分包&#xff0c;所以我就不会了。。。 好了…

bitcoinjs学习1—P2PKH

1. 概述 在本学习笔记中&#xff0c;我们将深入探讨如何使用 bitcoinjs-lib 库构建和签名一个 P2PKH&#xff08;Pay-to-PubKey-Hash&#xff09; 比特币交易。P2PKH 是比特币网络中最常见和最基本的交易类型之一&#xff0c;理解其工作原理是掌握比特币交易构建的关键。 想要详…

有限状态系统的抽象定义及CEGAR分析解析理论篇

文章目录 一、有限状态系统的抽象定义及相关阐述1、有限状态系统定义2、 有限状态系统间的抽象关系&#xff08;Abstract&#xff09;2.1 基于函数的抽象定义2.2 基于等价关系的抽象定义 二、 基于上面的定义出发&#xff0c;提出的思考1. 为什么我们想要/需要进行抽象2. 抽象是…

【linux学习指南】线程同步与互斥

文章目录 &#x1f4dd;线程互斥&#x1f320; 库函数strncpy&#x1f309;进程线程间的互斥相关背景概念&#x1f309;互斥量mutex &#x1f320;线程同步&#x1f309;条件变量&#x1f309;同步概念与竞态条件&#x1f309; 条件变量函数 &#x1f6a9;总结 &#x1f4dd;线…

云上话ai

这两天参加了几场ai视频直播 今天想分享一下照片&#xff0c;记录一下&#xff5e;

OpenVINO 2025.0重磅升级:开启⽣成式AI全场景⾰命!

2025年2⽉6⽇&#xff0c;英特尔OpenVINO™ 2025.0版本震撼发布&#xff0c;本次升级堪称近三年最⼤规模技术⾰新&#xff01;从⽣成 式AI性能跃升到全栈硬件⽀持&#xff0c;从开发者⼯具链优化到边缘计算突破&#xff0c;六⼤核⼼升级重新定义AI部署效率。 一&#xff0c;&a…

语言大模型基础概念 一(先了解听说过的名词都是什么)

SFT&#xff08;监督微调&#xff09;和RLHF&#xff08;基于人类反馈的强化学习&#xff09;的区别 STF&#xff08;Supervised Fine-Tuning&#xff09;和RLHF&#xff08;Reinforcement Learning from Human Feedback&#xff09;是两种不同的模型训练方法&#xff0c;分别…

裙子贴图提示词【图生图】

正向&#xff1a; (a plaid short skirt with checkered texture:1.4),(no human figure),wallpaper,incredibly absurdres,huge filesize,highres,absurdres,artbook_game c,s,rt,octane,no light,best quality,illustration,looking at viewer,impasto,canvas,realistic,rea…

【竞技宝】LCK:KT0-3爆冷不敌NS淘汰出局

北京时间2月13日&#xff0c;英雄联盟LCK2025在昨天正式迎来第一阶段的季后赛&#xff0c;首战迎来KT对阵NS&#xff0c;以下是本场比赛的详细战报。 第一局&#xff1a; KT&#xff1a;安蓓萨、大树、沙皇、韦鲁斯、布隆 NS&#xff1a;杰斯、瑟庄妮、阿萝拉、卡莎、泰坦 首…

电脑端调用摄像头拍照:从基础到实现

文章目录 1. 了解navigator.mediaDevices.getUserMedia API2. 创建 HTML 结构3. 编写 JavaScript 代码3.1 打开摄像头3.2 拍照 4. 完整代码5. 测试6. 注意事项及部署 在现代 Web 开发中&#xff0c;调用摄像头进行拍照是一个常见的功能&#xff0c;尤其是在需要用户上传头像、进…

lvs的DR模式

基于Linux的负载均衡集群软件 LVS 全称为Linux Virtual Server,是一款开源的四层(传输层)负载均衡软件 Nginx 支持四层和七层(应用层)负载均衡 HAProxy 和Nginx一样,也可同时支持四层和七层(应用层)负载均衡 基于Linux的高可用集群软件 Keepalived Keepalived是Linux…

STM32 RTC 实时时钟说明

目录 背景 RTC(实时时钟)和后备寄存器 32.768HZ 如何产生1S定时 RTC配置程序 第一次上电RTC配置 第1步、启用备用寄存器外设时钟和PWR外设时钟 第2步、使能RTC和备份寄存器访问 第3步、备份寄存器初始化 第4步、开启LSE 第5步、等待LSE启动后稳定状态 第6步、配置LSE为…