当前位置: 首页 > news >正文

每日一题——LeetCode961

方法一 排序法:

        2*n长度的数组里面有一个元素重复了n次,那么将数组排序,求出排序后数组的中间值(因为长度是偶数,没有刚好的中间值,默认求的中间值是偏左边的那个)那么共有三种情况:

  1. 重复n次的元素为最小值那么数组前一半都是该元素,此时中间值也是该元素
  2. 重复n次的元素为最大值,那么数组后一半都是该元素,此时中间值后面一个就是该元素
  3. 既不是最大值也不是最小值,那么中间值也一定就是该元素
var repeatedNTimes = function(nums) {nums.sort((a,b)=>a-b)var mid = Math.floor((nums.length-1)/2)if(nums[mid]===nums[mid-1] || nums[mid]===nums[mid+1])return nums[mid]else if(nums[mid+1]===nums[mid+2]) return nums[mid+1]
};

消耗时间和内存情况:

方法二 Map集合

用map记录nums里的各元素各出现了多少次,出现了n次即可返回

var repeatedNTimes = function(nums) {var len = nums.length/2var map = new Map()for(let n of nums){if(map.has(n)){map.set(n,map.get(n)+1)if(map.get(n)===len) return n}else{map.set(n,1)}}
};

消耗时间和内存情况:

方法三 数学方法:

考虑重复元素x在nums中出现的位置;

如果相邻的x之间至少都隔了2个位置,那么数组的总长度至少为:n+2(n-1)=3*n - 2

当n>2时,3n-2 > 2n 不存在满足要求的数组。因此一定存在两个相邻的x,它们的位置是连续的,或者只隔了1个位置

当n=2时,数组的长度最多为2n=4,因此最多只能隔2个位置。

所以我们只需要遍历所有间隔2个位置及以内的小标对,判断对应的元素是否相等即可

var repeatedNTimes = function(nums) {const n = nums.length;for (let gap = 1; gap <= 3; ++gap) {for (let i = 0; i + gap < n; ++i) {if (nums[i] === nums[i + gap]) {return nums[i];}}}// 不可能的情况return -1;
};

http://www.lryc.cn/news/270309.html

相关文章:

  • 基于Unity Editor开发一个技能编辑器可能涉及到的内容
  • Ubuntu 22.04 安装ftp实现与windows文件互传
  • EasyPoi使用案例
  • 分布式系统架构设计之分布式数据存储的分类和组合策略
  • javaEE -18(11000字 JavaScript入门 - 3)
  • LangChain.js 实战系列:入门介绍
  • pyCharm 打印控制台中文乱码解决办法
  • 计算机基础--Linux详解
  • 基于OpenAI的Whisper构建的高效语音识别模型:faster-whisper
  • cfa一级考生复习经验分享系列(十六)
  • 数模学习day05-插值算法
  • hive中struct相关函数总结
  • macos下转换.dmg文件为 .iso .cdr文件的简单方法
  • ALSA学习(5)——设备中的alsa
  • uniapp中组件库的丰富NumberBox 步进器的用法
  • 【Matlab】基于遗传算法优化BP神经网络 (GA-BP)的数据时序预测
  • 计算机毕业设计 基于HTML5+CSS3的在线英语阅读分级平台的设计与实现 Java实战项目 附源码+文档+视频讲解
  • 云原生|kubernetes|kubernetes资源备份和集群迁移神器velero的部署和使用
  • 【26.4K⭐】ShareX:一款开源免费、功能强大且丰富的截屏录屏软件
  • 什么是ajax,为什么使用ajax?
  • AI面板识别 - 华为OD统一考试
  • Linux之磁盘分区,挂载
  • 2核2G3M服务器上传速度多少?以阿里云和腾讯云为例
  • Cisco模拟器-OSPF路由协议
  • SpEL 的使用
  • 数据采集实战:电商详情页数据埋点
  • 计算机网络——计算大题(七)
  • 子网掩码与IP段计算
  • 【译文】IEEE白皮书 6G 太赫兹技术的基本原理 2023版
  • AUTOSAR从入门到精通-网络通信(UDPNm)(三)