448. Find All Numbers Disappeared in an Array

题目概述

Given an array of integers where 1 ≤ a[i] ≤ n (n = size of array), some elements appear twice and others appear once.

Find all the elements of [1, n] inclusive that do not appear in this array.

Could you do it without extra space and in O(n) runtime? You may assume the returned list does not count as extra space.

Example:

Input:
[4,3,2,7,8,2,3,1]Output:
[5,6]

Subscribe to see which companies asked this question.

算法思路

  1. 判断数组是否为空,为空则返回数组本身;
  2. 将数组中出现的数字的位置赋值为负数;
  3. 将输入数组中非负的位置+1放入返回数组。

代码实现

class Solution {
public:vector<int> findDisappearedNumbers(vector<int>& nums) {if(nums.size()==0) return nums;vector<int>disnum;int j=1;for(int i=0; i<nums.size(); i++){//将数组中出现的数字的位置赋值为负数int m=abs(nums[i])-1;nums[m]=nums[m]>0?-nums[m]:nums[m];}for(int i=0; i<nums.size(); i++){//将输入数组中非负的位置+1放入返回数组if(nums[i]>0){disnum.push_back(i+1);}}return disnum;}
};

LeetCode--448相关推荐

  1. Leetcode 448. Find All Numbers Disappeared in an Array

    Leetcode  448. Find All Numbers Disappeared in an Array Add to List Description Submission Solutions ...

  2. LeetCode 448. Find All Numbers Disappeared in an Array 442. Find All Duplicates in an Array

    这两道题很有意思,由于元素为1~n,因此每个元素的值-1(映射到0~n-1)就可以直接当做下标.这样将 nums 中对应下标的元素 *-1 以i表示 index+1 这个元素出现过了,能节省存储的空间 ...

  3. leetcode 448. Find All Numbers Disappeared in an Array | 448. 找到所有数组中消失的数字(原地,位运算)

    题目 https://leetcode.com/problems/find-all-numbers-disappeared-in-an-array/ 题解 遍历数组,将数组中每个数字 n 作为下标,将 ...

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

    目录 1.题目 2.代码及思路 3.进阶 3.1题目 3.2代码及思路 1.题目 给你一个含 n 个整数的数组 nums ,其中 nums[i] 在区间 [1, n] 内.请你找出所有在 [1, n] ...

  5. leetcode 448. Find All Numbers Disappeared in an Array

    Given an array of integers where 1 ≤ a[i] ≤ n (n = size of array), some elements appear twice and ot ...

  6. leetcode 448. 找到所有数组中消失的数字(Java版)

    题目 https://leetcode-cn.com/problems/find-all-numbers-disappeared-in-an-array/ 思路 维护一个 bool 数组,用来记录哪些 ...

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

    给定一个范围在 1≤a[i]≤n1 ≤ a[i] ≤ n1≤a[i]≤n ( n=n =n= 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次. 找到所有在 [1,n][1, ...

  8. [swift] LeetCode 448. Find All Numbers Disappeared in an Array

    Given an array of integers where 1 ≤ a[i] ≤ n (n = size of array), some elements appear twice and ot ...

  9. LeetCode题解目录

    最新更新于2020.11.27 前往LeetCode主页. 前往GitHub源码.(服务器原因,暂停同步.) 前往码云主页. 已解决 456/1878 - 简单353 中等 90 困难 13 2020 ...

  10. Leetcode题解(超赞!!!)

    我是技术搬运工,好东西当然要和大家分享啦.原文地址 算法思想 二分查找 二分查找思想简单,但是在实现时有一些需要注意的细节: 在计算 mid 时不能使用 mid = (l + h) / 2 这种方式, ...

最新文章

  1. 设计模式(五)责任链模式
  2. python绘制科赫雪花(递归)
  3. 数据库基础操作(二)数据库表数据的增删查改
  4. java垃圾回收机制算法分析
  5. 实验五 网络编程与安全
  6. PHP——0128练习相关1——window.open()
  7. 关于windows注册表
  8. 大数据之-Hadoop完全分布式_完全分布式模式下的集群配置---大数据之hadoop工作笔记0034
  9. 大家有没有发现,女生带上口罩后,感觉颜值升高了,尤其眼睛好看?
  10. iis设置首页为main.html,遇到X-Frame-Options头未设置"怎么解决
  11. 关于事务开启与否对数据库插入数据所需时间的影响的讨论
  12. 微软职位内部推荐-Software Engineer II-Senior Software Engineer for Satori
  13. android tf卡检测工具,检测SD卡真假!安卓App一键识破SD卡真伪
  14. BZOJ4316 小C的独立集 【仙人掌】
  15. Leaflet 可视化--风场、海浪、洋流、气压、温度等
  16. 【例7-15 UVA-1603】Square Destroyer
  17. ADB和monkey常用命令笔记
  18. jsp+spring+hibernate
  19. python猜数字游戏编程入门_Python实现猜数字游戏
  20. Arm Cortex-M 处理器比较表

热门文章

  1. Android左右滑屏遇到listview问题解决
  2. MySQL管理之日志详解
  3. JS_高程6.面向对象的程序设计(2)创建对象_1
  4. OpenStack Ocata Release Notes
  5. 发测试邮件或垃圾邮件node脚本
  6. CCNP路由实验---3、人工汇总EIGRP路由
  7. TensorRT是NVIDIA开发的深度学习推理工具,只支持推理,不支持训练 引
  8. 交叉熵损失函数的通用性(为什么深度学习DL普遍用它):预测输出与 y 差得越多,L 的值越大,也就是说对当前模型的 “ 惩罚 ” 越大,而且是非线性增大是一种类似指数增长的级别,结论:它对结果有引导性
  9. 什么是neo4j cql查询语言 cypher 密码 暗号
  10. numpy.hstack(a,b) 按列方向扩展 与 numpy.vstack(a,b) 按行方向扩展 其中n*1 数组可以写成 举例 np.array([[1],[2],[3]])