找到所有数组中消失的数字(java)

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

输入:nums = 4,3,2,7,8,2,3,1

输出:5,6

输入:nums = 1,1

输出:2

遍历nums,将遇到的元素index作为索引,让numsindex增加nums.length;因为原来nums数组中的元素范围在1, n,所以遍历完成后,所有的nums中的元素不大于nums.length的就是没出现过的元素。

java 复制代码
import java.util.ArrayList;
import java.util.List;

class Solution {
    public List<Integer> findDisappearedNumbers(int[] nums) {
        int n = nums.length;
        for(int num:nums) {
            int x = (num-1) % n;
            nums[x]+=n;
        }
        List<Integer> ret = new ArrayList<Integer>();
        for(int i = 0;i<n;i++) {
            if(nums[i]<=n)
                ret.add(i+1);
        }
        return ret;
    }

}
相关推荐
xcl09252 小时前
幼儿托育系统开发实战:从需求分析到上线全流程指南
java·大数据·需求分析
吴声子夜歌2 小时前
ApacheCommons——commons-cli(命令行参数解析)
java·开发语言·apache
小小猪的春天2 小时前
Java 手写第一个 MCP Server:Spring AI MCP 半小时跑通
java·人工智能·spring boot·ai编程
find1star2 小时前
LeetCode 141:环形链表
java·算法·leetcode·链表
迅翼SwiftWing2 小时前
编队系列(总)|固定翼编队如何实现稳定飞行?通信架构、协同算法与工程约束深度解析
算法·架构
LB21123 小时前
力扣160 21 86
算法·leetcode·职场和发展
今天AI了吗3 小时前
DeepSeek Harness 深度解析:从评测架构到实战落地
java·网络·数据库·人工智能·架构·java-ee
许彰午3 小时前
27-AuthService登录链路
java·低代码·架构
泡海椒4 小时前
JQuick-Curl 性能分析:并发场景下的性能表现与调优,第三方接口调用不只要快写也要稳跑
java·开发语言·okhttp
小智老师PMP4 小时前
2026深度解析|PMP第八版与NPDP核心侧重点本质区别(管理类证书怎么选)
开发语言·分布式·算法·职场和发展·产品经理