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;
    }

标记索引法

相关推荐
陈文锦丫19 分钟前
MQ的学习
java·开发语言
乌暮29 分钟前
JavaEE初阶---线程安全问题
java·java-ee
爱笑的眼睛1135 分钟前
GraphQL:从数据查询到应用架构的范式演进
java·人工智能·python·ai
Seven971 小时前
剑指offer-52、正则表达式匹配
java
代码or搬砖1 小时前
RBAC(权限认证)小例子
java·数据库·spring boot
青蛙大侠公主1 小时前
Thread及其相关类
java·开发语言
Coder_Boy_1 小时前
DDD从0到企业级:迭代式学习 (共17章)之 四
java·人工智能·驱动开发·学习
2301_768350231 小时前
MySQL为什么选择InnoDB作为存储引擎
java·数据库·mysql
派大鑫wink2 小时前
【Java 学习日记】开篇:以日记为舟,渡 Java 进阶之海
java·笔记·程序人生·学习方法