首页 > 其他分享 >448. 找到所有数组中消失的数字

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

时间:2023-03-03 17:11:44浏览次数:41  
标签:448 数字 nums int 示例 初心 len 数组

[图片]image

背景故宫,我拍的,好看吧

题目

力扣链接: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) 的情况下解决这个问题吗? 你可以假定返回的数组不算在额外空间内。

思路

  1. 不使用额外空间,结合题意,是想让你改变它的外表,不改变它的初心。,洋装虽然穿在身,我心依然是中国心。

    假设数组长度len为5

     改变它的外表:x=4+len=9
     不改变它的初心:x=x%len=4;
    
  2. 世界上没有完美的犯罪,只要你犯罪,就一定会留下蛛丝马迹,我们找蛛丝马迹抓坏人。

image

代码实现

class Solution {
    public List<Integer> findDisappearedNumbers(int[] nums) {
        int len = nums.length;
        for (int i = 0; i < len; i++) {
            int x = (nums[i] - 1) % len;
            nums[x] += len;
        }

        List<Integer> res = new ArrayList<>();
        for (int i = 0; i < len; i++) {
            if (nums[i] <= len) {
                res.add(i + 1);
            }
        }
        return res;
    }
}

总结

标签:448,数字,nums,int,示例,初心,len,数组
From: https://www.cnblogs.com/handsometaoa/p/17176302.html

相关文章

  • 3729. 改变数组元素(差分)
    https://www.acwing.com/problem/content/3732/一维差分,要点是题目给的v数组一开始为空的,可以认为v数组一开始全为0,有n个0(因为加入了n个数),要满足题意得用循环模拟不......
  • DSP(数字信号处理)与监控摄像机相关技术解读
    提起安防领域,我们第一个想到的应该就是监控摄像机了,它对于安防的重要性,就像人的眼睛对于人的作用一样,是重要的信息获取来源。 监控摄像机广泛应用于学校、公司、银行、......
  • 指针与数组、多级指针
    指针和数组:数组名: 【数组名是地址常量】---不可以被赋值。 ++/--/+=/-=/%=//=(带有副作用的运算符) 指针是变量。可以用数组名给指针赋值。++--......
  • C/C++ 数据结构使用数组实现队列的基本操作
    //使用数组实现队列#include<iostream>#include<Windows.h>usingnamespacestd;#defineMAXSIZE5//队列的最大容量typedefintDataType;//队列中的元素类型......
  • 获取数组中的所有非唯一值(即:重复/多次出现)
    我需要检查JavaScript数组以查看是否有任何重复值。最简单的方法是什么?我只需要找到重复的值是什么——我实际上不需要它们的索引或它们重复了多少次。我知道我可以......
  • 个人觉得好用的工具函数(如把数字转成千分位逗号分隔)
    //js数字每三位加逗号(千分位格式)美元格式3位一个逗号  handleUs(val){   //eg:2536995--->2,536,995爽得一匹   returnval.toLocaleString()......
  • 数字孪生监狱 构建智慧监所三维可视化综管系统
    建设背景监狱肩负着戒治管理、维持监所安全稳定等职责,目前全国有监管场所5500多个,监狱680多个。 近年来,司法部不断加大司法行政改革力度,持续推进“数字法治,智慧司法”......
  • java-数组,冒泡排序19
    packagecom.demo.data;publicclassarr{publicstaticvoidmain(String[]args){int[]arr={11,22,33,44,999};intmax=m(arr);......
  • react使用this.setState给数组中某个对象赋值
    先记录一下正确写法const{payTypeList}=this.state;lettemp=payTypeListdat.openFlag=type//这一句是必须的,不然状态无法更改temp.map((i......
  • 数字签名是什么玩意?
    今天,我读到一篇好文章。它用图片通俗易懂地解释了,"数字签名"(digitalsignature)和"数字证书"(digitalcertificate)到底是什么。我对这些问题的理解,一直是模模糊糊的,很多细......