当前位置:网站首页>leetcode 448. Find All Numbers Disappeared in an Array 找到所有数组中消失的数字(简单)
leetcode 448. Find All Numbers Disappeared in an Array 找到所有数组中消失的数字(简单)
2022-08-03 20:05:00 【okokabcd】
一、题目大意
标签: 数组
https://leetcode.cn/problems/find-all-numbers-disappeared-in-an-array
给你一个含 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
- 进阶:你能在不使用额外空间且时间复杂度为 O(n) 的情况下解决这个问题吗? 你可以假定返回的数组不算在额外空间内。
二、解题思路
把所有重复出现的位置进行标记,然后再遍历一遍数组,即可找到没有出现过的数字。进一步优化,可以直接对原数组进行标记:把重复出现的数字在原数组出现的位置设为负数,最后仍然为正数的位置即为没有出现过的数。
三、解题方法
3.1 Java实现
public class Solution {
public List<Integer> findDisappearedNumbers(int[] nums) {
for (int num : nums) {
// 这个地方要注意 -1,数组下标从0开始
int pos = Math.abs(num) - 1;
if (nums[pos] > 0) {
nums[pos] = -nums[pos];
}
}
List<Integer> ans = new ArrayList<>();
for (int i = 0; i < nums.length; i++) {
if (nums[i] > 0) {
ans.add(i + 1);
}
}
return ans;
}
}
四、总结小记
- 2022/8/3 下面做按数据结构开始做,先从数组开始
边栏推荐
- 【leetcode】剑指 Offer II 007. 数组中和为 0 的三个数(双指针)
- 友宏医疗与Actxa签署Pre-M Diabetes TM 战略合作协议
- 倒计时2天,“文化数字化战略新型基础设施暨文化艺术链生态建设发布会”启幕在即
- ESP8266-Arduino编程实例-BH1750FVI环境光传感器驱动
- 涨薪5K必学高并发核心编程,限流原理与实战,分布式计数器限流
- 利用net-snmp的库实现snmpget,snmpset
- Benchmarking Lane-changing Decision-making for Deep Reinforcement Learning
- alicloud3搭建wordpress
- tensorflow-gpu2.4.1安装配置详细步骤
- dpkg强制安装软件
猜你喜欢
随机推荐
Detailed steps for tensorflow-gpu2.4.1 installation and configuration
不知道这4种缓存模式,敢说懂缓存吗?
Statistical machine learning 】 【 linear regression model
EMQX Newsletter 2022-07|EMQX 5.0 正式发布、EMQX Cloud 新增 2 个数据库集成
华为设备配置VRRP负载分担
LeetCode 1374. 生成每种字符都是奇数个的字符串
EasyCVR平台海康摄像头语音对讲功能配置的3个注意事项
云服务器如何安全使用本地的AD/LDAP?
Alexa染料标记RNA核糖核酸|RNA-Alexa 514|RNA-Alexa 488|RNA-Alexa 430
高性能计算软件与开源生态| ChinaOSC
pytorch框架实现老照片修复功能详细演示(GPU版)
Anaconda 虚拟环境迁移
redis常用命令,HSET,XADD,XREAD,DEL等
亚马逊云科技 Build On 2022 - AIot 第二季物联网专场实验心得
揭秘5名运维如何轻松管理数亿级流量系统
php根据两点经纬度计算距离
charles配置客户端请求全部不走缓存
【STM32】标准库-自定义BootLoader
数学之美 第六章——信息的度量和作用
tRNA-m5C转运RNA(tRNA)修饰5-甲基胞嘧啶(m5C)|tRNA修饰m1Am2A (2-methyladenosine)









