首页 > 其他分享 >448. 找到所有数组中消失的数字 ----- 原地哈希、巧妙自用

448. 找到所有数组中消失的数字 ----- 原地哈希、巧妙自用

时间:2022-11-15 21:55:20浏览次数:35  
标签:vector 448 哈希 nums res 示例 num ----- 数组

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

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/find-all-numbers-disappeared-in-an-array
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

class Solution {
public:
    vector<int> findDisappearedNumbers(vector<int>& nums) {
        vector<int> res;
        int n = nums.size();
        for (auto && num : nums) {
            if (nums[abs(num)-1] > 0) {
                nums[abs(num)-1] *= -1;
            }
        }
        for (int i = 0; i < n; ++i) {
            if (nums[i] > 0) {
                res.emplace_back(i+1);
            }
        }
        return res;
    }
};

 

标签:vector,448,哈希,nums,res,示例,num,-----,数组
From: https://www.cnblogs.com/slowlydance2me/p/16894145.html

相关文章

  • 服务异步通信-高级篇
    服务异步通信-高级篇消息队列在使用过程中,面临着很多实际问题需要思考:1.消息可靠性消息从发送,到消费者接收,会经理多个过程:其中的每一步都可能导致消息丢失,常见的丢失......
  • html--基本标签
    1.html--基础标签<!DOCTYPEhtml><html><head><metacharset="utf-8"><title>标题</title></head><body><p>开始学习HTML~</p></body></html标签分为两类:一类是......
  • Installing harbor-2.6.2 on openEuler-22.09
    一、Installingharbor-2.6.2onopenEuler1地址https://goharbor.iohttps://github.com/goharbor/harbor2Harbor安装条件部署Harbor的最低硬件和软件配置......
  • 深度学习-分类准确率度量指标
    1.分类性能度量1.1准确率,分类准确率(accuracy):分类器正确分类的样本数与总样本之比:  accuracy=(Tp+Tn)/(P+N)但难以识别家假阳性与假阴性;以及难以识别正类或......
  • 嵌入式-Linux基础:Windows和Linux间的文件传输方式
    首先必须安装VMWare里面的VmWareTool(1)拖拽方式:安装完之后就可以通过拖拽的方式将Windows的文件移到虚拟机里了,同样虚拟机里的也可以拖拽到Windows中。(2)设置共享文件夹......
  • day26 - 基本选择器
    基本选择器标签选择器标签选择器会选择页面上所有这种类型的标签在title下定义<style>标签名称{定义1...定义2...}1<!DOCTYPEhtml>2<htmllang="en">......
  • 169. 多数元素 ----- 摩尔投票法(两军相消剩一人)、随机化法、分治法、哈希表枚举法、排
    给定一个大小为n的数组 nums,返回其中的多数元素。多数元素是指在数组中出现次数大于 ⌊n/2⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。......
  • day01-Tomcat框架分析
    引入课程和Maven1.Mavenmaven中央仓库:MavenRepository:Search/Browse/Explore(mvnrepository.com)maven仓库是国外的一个网站,由于网络问题,我们也常使用maven仓库的......
  • [复现]2021VNCTF-RE
    notsudoku一看图标就知道是python写的exe​先查壳,有upx壳​脱壳​正常的py逆向过程​恢复​pyc->py​得到源码:#uncompyle6version3.8.0#Pythonbyteco......
  • day 26-css初步学习
    css两种改变html格式的方法:内部style:在title下添加<style>写选择器的声明 1<!--<style>-->2<!--h1{-->3<!--color:aqua;-->......