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

定个小目标之刷LeetCode热题(21)

这是道技巧题,利用了 (num - 1)% n 计算下标的形式来将数组元素与数组索引产生映射关系,代码如下,可以看下注释

class Solution {public List<Integer> findDisappearedNumbers(int[] nums) {int n = nums.length;for (int num : nums) {// 利用哈希表原理计算元素下标,从题意可知,nums的数字范围均在[1,n]中,// 这样通过(num - 1) % n运算,刚好可以将数组中每个元素再次分配在数组的对应位置,// 且不多不少int x = (num - 1) % n;// [4,3,2,7,8,2,3,1]// 比如4经过计算应该被分配在nums[3],所以为了标记起来,// 我们进行nums[x]+=n,这样即可以通过nums[i] > n来判断4是否// 被分配在这里,又不影响nums[3]原本元素7继续分配nums[x] += n;}List<Integer> ret = new ArrayList<Integer>();for (int i = 0; i < n; i++) {// 小于等于n说明本应该被分配在这里的元素不存在if (nums[i] <= n) {ret.add(i + 1);}}return ret;}
}

题目链接:题单 - 力扣(LeetCode)全球极客挚爱的技术成长平台

相关文章:

  • C# —— 算数运算符
  • leetcode 字符串
  • 港科夜闻 | 香港科大与香港科大(广州)合推红鸟跨校园学习计划,共享教学资源,促进港穗学生交流学习...
  • TCP和UDP区别
  • 建筑节能检测题库(单选:378题、多选:103题、判断:188题)
  • TalkingData 是一家专注于提供数据统计和分析解决方案的独立第三方数据智能服务平台
  • AI大模型在运动项目的深度融合和在穿戴设备的实践及未来运动健康技术发展
  • 【漏洞复现】畅捷通T+ keyEdit SQL注入漏洞
  • 机器学习中的监督学习介绍
  • matlab 任意二维图像转点云
  • Windows11和Ubuntu22双系统安装指南
  • C++ virtual public(虚继承类)
  • 从人、机器和环境角度解决智能安全问题
  • 绘制MySQL数据库的实体关系图(ERD)与逻辑模型图
  • 费曼的博士学位论文及下载
  • 【从零开始安装kubernetes-1.7.3】2.flannel、docker以及Harbor的配置以及作用
  • 【每日笔记】【Go学习笔记】2019-01-10 codis proxy处理流程
  • 2017年终总结、随想
  • angular学习第一篇-----环境搭建
  • create-react-app项目添加less配置
  • es6(二):字符串的扩展
  • flutter的key在widget list的作用以及必要性
  • JavaScript 奇技淫巧
  • Kibana配置logstash,报表一体化
  • STAR法则
  • Vue.js 移动端适配之 vw 解决方案
  • 爱情 北京女病人
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • #《AI中文版》V3 第 1 章 概述
  • ${factoryList }后面有空格不影响
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (4)Elastix图像配准:3D图像
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (webRTC、RecordRTC):navigator.mediaDevices undefined
  • (欧拉)openEuler系统添加网卡文件配置流程、(欧拉)openEuler系统手动配置ipv6地址流程、(欧拉)openEuler系统网络管理说明
  • (十八)三元表达式和列表解析
  • (推荐)叮当——中文语音对话机器人
  • (一)Neo4j下载安装以及初次使用
  • (转)Oracle 9i 数据库设计指引全集(1)
  • (转载)从 Java 代码到 Java 堆
  • .NET CF命令行调试器MDbg入门(二) 设备模拟器
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)
  • .net中的Queue和Stack
  • [1181]linux两台服务器之间传输文件和文件夹
  • [Asp.net MVC]Bundle合并,压缩js、css文件
  • [ASP]青辰网络考试管理系统NES X3.5
  • [Avalon] Avalon中的Conditional Formatting.
  • [C#]winform利用seetaface6实现C#人脸检测活体检测口罩检测年龄预测性别判断眼睛状态检测
  • [c++] C++多态(虚函数和虚继承)
  • [CVPR2021]Birds of a Feather: Capturing Avian Shape Models from Images
  • [Hadoop in China 2011] Hadoop之上 中国移动“大云”系统解析
  • [IE编程] IE8的SDK 下载
  • [iOS]GCD(一)