leetcode448:找到数组中所有消失的数字

找到数组中所有消失的数字

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

java 复制代码
public List<Integer> findDisappearedNumbers(int[] nums) {
        for (int i = 0; i < nums.length; i++) {
            int index = Math.abs(nums[i]);
            nums[index - 1] = nums[index - 1] < 0 ? nums[index - 1] : -nums[index - 1];
        }
        List<Integer> list = new ArrayList<>();
        for (int i = 0; i < nums.length; i++) {
            if(nums[i]>0){
                list.add(i+1);
            }
        }
        return list;
    }

标记索引法

相关推荐
码不停蹄的玄黓11 分钟前
SpringBoot 全局异常处理器实现
java·spring boot·后端
小高学习java39 分钟前
事务的边界问题,如何判断数据回滚时机。
java·数据库·后端
何极光43 分钟前
Maven安装与配置
java·maven
Ting.~44 分钟前
在java中接入百度地图
java·开发语言·dubbo
敲个大西瓜1 小时前
加密算法小解
java
阿维的博客日记1 小时前
怎么样才算是用到了反射呢?有什么关键特征吗
java
wuminyu1 小时前
Java世界中StringTable源码剖析
java·linux·c语言·jvm·c++
一个做软件开发的牛马1 小时前
Spring Boot 自动配置原理揭秘:从 @SpringBootApplication 到手写自定义 Starter
java·后端
人道领域2 小时前
【LeetCode刷题日记】47.全排列Ⅱ
java·开发语言·算法·leetcode
是苏浙2 小时前
Java实现链表1
java·开发语言