找到所有数组中消失的数字(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;
    }

}
相关推荐
yuanyuan2o210 分钟前
模型预训练:Hugging Face Transformers 基础
算法·ai·语言模型·自然语言处理·nlp·深度优先
杨充18 分钟前
1.3 浮点型数据设计灵魂
开发语言·python·算法
噜噜噜阿鲁~20 分钟前
python学习笔记 | 11.3、面向对象高级编程-多重继承
java·开发语言
春生野草1 小时前
反射、Tomcat执行
java·开发语言
妄想出头的工业炼药师1 小时前
GS slam mono
算法·开源
_日拱一卒1 小时前
LeetCode:207课程表
java·数据结构·算法·leetcode·职场和发展
飞翔中文网2 小时前
Java学习笔记之抽象类与接口(设计思想)
java·笔记·学习
qcx232 小时前
【系统学AI】09 Multi-Agent架构(2026版):从学术理论到工业级实践
java·人工智能·架构·multi-agent·claude agent
半旧夜夏2 小时前
【保姆级】微服务组件环境搭建(Docker Compose版)
java·linux·spring cloud·微服务·云原生·容器