找到数组里面缺失的数(C++(绝妙方法))
给定一个范围在 1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。
找到所有在 [1, n] 范围之间没有出现在数组中的数字。
您能在不使用额外空间且时间复杂度为O(n)的情况下完成这个任务吗? 你可以假定返回的数组不算在额外空间内。
示例:
输入:
[4,3,2,7,8,2,3,1]
输出:
[5,6]
解:
这个大神的方法简直绝了!!!!!!
往下看:
class Solution {public:vector<int> findDisappearedNumbers(vector<int>& nums) {//将所有数组中的数作为下标,置对应下标的数组中的数为负数。//被改变后的数组如果出现正数,那该正数的位置就代表未出现过得数组//巧妙的把数组的数转换为位置for(int i=0; i<nums.size(); i++){//这里必须要加abs在nums[i]上!//因为一轮循环之后可能就把这个值变为负数了nums[abs(nums[i])-1] = -abs(nums[abs(nums[i])-1]);}vector<int>v;for(int j=0; j<nums.size(); j++){if(nums[j]>0)v.push_back(j+1);}return v;}
};
这个方法同样可以用在这个找出数组中重复和出错的元素
这个题目里面,来找出出错的数字!
https://blog.csdn.net/weixin_45479946/article/details/108344448
找到数组里面缺失的数(C++(绝妙方法))相关推荐
- 【ShareCode】不错的技术文章 -- 如何使用异或(XOR)运算找到数组中缺失的数?...
如何使用异或(XOR)运算找到数组中缺失的数? 今天给大家分享一篇关于使用XOR(异或)运算找到数组中缺失的数的问题. 在一次Javascript面试中,有这么一个问题: 假设有一个由0到99(包含9 ...
- SQL Challenge ——快速找到1-100之间缺失的数
原文:SQL Challenge --快速找到1-100之间缺失的数 有个经典的题目:1-100之间的数字(不重复)存放在表里,共95行一列,但是里面缺了5个数字,怎么用SQL最快找出那五个数字. 我 ...
- 数组-0~n-1 中缺失的数(查找不存在的数)
题意: 一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0-n-1之内.在范围0-n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字. 示例 1: 输入: [0 ...
- numpy找到数组中符合条件的数
numpy找到数组中符合条件的数 import numpy as nparr = np.array([1, 1, 1, 134, 45, 3, 46, 45, 65, 3, 23424, 234, 1 ...
- 在数组中找到第 k 小的数
在数组中找到第 k 小的数 [要求] 如果 arr 长度为 N,要求时间复杂度为 O(N),额外空间复杂度为 O(1). public static int[] getMinKNumByHeap(in ...
- 1到n中减少了一个数,顺序被打乱,找出缺失的数
2013年的创新工场笔试考了:http://blog.csdn.net/huangxy10/article/details/8026464 而且应该还是一道经典的笔试面试题:http://fayaa. ...
- 找出重复的数java_剑指offer:1.找出数组中重复的数(java版)
数组中重复的数: 题目:找出数组中重复的数, 题目描述: 在一个长度为n的数组里的所有数字都在0到n-1的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复的. 也不知道每个数字重复几次.请找 ...
- Leetcode 532.数组中的K-diff数对
数组中的K-diff数对 给定一个整数数组和一个整数 k, 你需要在数组里找到不同的 k-diff 数对.这里将 k-diff 数对定义为一个整数对 (i, j), 其中 i 和 j 都是数组中的数字 ...
- 《剑指offer》-- 把数组排成最小的数、丑数、二进制中1的个数、表示数值的字符串、替换空格
一.把数组排成最小的数: 1.题目: 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为 ...
最新文章
- java实现大整数的加减乘除法(百练OJ:2736、2737、2980、2981)
- 接触VC之四:COM组件模型基础
- 废粉盒在哪里_很想知道打印机废粉盒中的那些废碳粉应该怎么处理?
- 织梦(DEDECMS)首页调用相关投票的方法(自动更新)
- lppl模型 matlab,对LPPL模型的思考
- MyEclipse Servers视窗出现“Could not create the view: An unexpected exception was thrown”错误解决办法...
- Flex与.NET互操作(十六):FluorineFx + Flex视频聊天室案例开发
- 译林 五年级上 单词_译林版小学英语五上Unit 4 HobbiesStory time公开课优质课件教案视频教案...
- Unity3D shader简介
- PPT中插入Flash
- C++中toupper、tolower 、isalpha、isalnum、isdigit、islower、isupper、isblank、isspace的用法
- 一加手机怎么root权限_一加手机的两种ROOT权限获取教程详解
- 数字IC设计学习笔记_8位7段数码管1
- Oracle PeopleSoft 登录,peoplesoft不能登录DB解决方法
- PaddingError: Placeholder of length ‘30‘ too short in package
- css3,background-clip/background-origin的使用场景,通俗讲解
- 概率论 思维导图复习提纲
- Android 批量打包 基于Walle的多渠道快速打包自动脚本
- 任岁月变迁,我心不惊
- LWN:利用PAM Duress来增加一个被胁迫时的专用密码!
热门文章
- 售价对标奢侈品,国货香水“德不配位”?
- JAVASE基础模块十五(StringBuffer类)
- Guiding Teacher Forcing with Seer Forcing for Neural Machine Translation翻译
- 【计算机网络】(5)ping的过程分析+icmp协议
- 2018年的最后一周,说些心里话
- 大数据与BI的联系与区别
- html中支持透明图片的格式,IE6 png图片透明的解决方法教程
- Java学习笔记(二)
- 微信公众号开发 糟糕的体验_糟糕的开发人员–好老板
- Vue中keep-alive用法