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

day82—数组 | 哈希桶—找到所有数组中消失的数字(LeetCode-448)

题目描述

给你一个含 n 个整数的数组 nums ,其中 nums[i] 在区间 [1, n] 内。请你找出所有在 [1, n] 范围内但没有出现在 nums 中的数字,并以数组的形式返回结果。

示例 1:

输入:nums = [4,3,2,7,8,2,3,1]
输出:[5,6]

示例 2:

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

提示:

  • n == nums.length
  • 1 <= n <= 105
  • 1 <= nums[i] <= n

解决方案:

1、利用数组这种数据结构建立 n 个桶,以原有数组中的数字作为桶的序号

2、把所有位置进行标记(取负数),数组中会有重复出现数字所在的位置则不改变,依然是正数

3、重新遍历数组,则会发现正数所在的位置序号就是消失的数字,即为所求

函数源码:

class Solution {
public:vector<int> findDisappearedNumbers(vector<int>& nums) {vector<int> ans;for(const int & i : nums){int pos = abs(i) -1;if(nums[pos]>0){nums[pos] = -nums[pos];}}for(int i=0;i<nums.size();i++){if(nums[i]>0){ans.push_back(i+1);}}return ans;}
};
http://www.dtcms.com/a/419913.html

相关文章:

  • 人该怎样活着呢?版本61
  • 天纪标注平台TLP:用大模型赋能高质量数据标注
  • 免费网站建设 百度收录wordpress怎么调用api
  • linux 系统cshrc 文件
  • 【网络安全】一、入门篇:读懂 HTTP 协议
  • 建设在线教育网站国外做的好的医疗网站设计
  • 酒店网站建设案例策划书怎么写网站设计是什么专业
  • java-字符集,编码解码
  • 使用 SQLAlchemy 和 Alembic 处理 FastAPI 中的模型变更
  • 怎么搭建属于自己的网站超详细wordpress常用函数
  • 【Java初学基础10】一文讲清反射
  • 深圳外贸营销型网站建设网站优化和提升网站排名怎么做
  • 可以做电算化的网站鄂州网站推广
  • 驻马店哪家做网站好专业展馆展厅设计
  • 20250928的学习笔记
  • seo网站推广策略福州短视频seo程序
  • Tsinghua OJ 工作分配(Workload)C++ 数组指针实现
  • 免费网站知乎网页打不开但是qq能上是怎么回事
  • 宁波网站设计制作公司wordpress免费简约模板
  • 乐山 做网站WordPress工作发布
  • 3.6 局域网 (答案见原书 P110)
  • C++基础:(五)类和对象(下)—— static、友元和内部类
  • 【二至九位数个位起符合递减限制求和】2022-11-19
  • eclipse jsp 网站开发登录中国沈阳网站
  • 【连载1】《假装自己是个小白 —— 重新认识 MySQL》实践指南
  • 智能客服机器人推动客服岗位角色转型
  • 商丘建设网站网站图片怎么做白色背景
  • 网站优化如何提高排名根据百度地图做网站
  • VC++ 使用OpenSSL创建RSA密钥PEM文件
  • 测试覆盖率:从度量到优化的完整工程实践指南