力扣练习题 <找到所有数组中消失的数字>

Java实现 LeetCode 448 找到所有数组中消失的数字 448. 找到所有数组中消失的数字 给定一个范围在 1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。 找到所有在 [1, n] 范围之间没有出现在数组中的数字。 您能在不使用额外空间且时间复杂度为O(n)的情况下完成这个任务吗? 你可以假定返回的数组不算在额外空间内。 示例: 输入: [4,3,2,7,8,2,3,1] 输出: [5... 阅读详情

给你一个含 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.com/problems/find-all-numbers-disappeared-in-an-array
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

/*方法1:可以借助哈希表  但是进阶说不借助外工具,那么有另外一种方法
方法2:就是用两个循环即可实现,第一个循环去遍历数组中的每个元素,同时让下标为这个元素值减一的数变为负的;第二个循环就去遍历数组,看到有不为负数的元素,其下标加一即为"消失的数"   使用这个方法要注意不要对一个元素重复变负数了(因为可能有重复的数,所以在给对应元素赋负数时要先判断一下是否已经是负数了)
方法3:跟方法2类似,但是不是变成负数,而是统一去加一个大于或等于n的数(为什么选大于等于n  因为这样加出来最小的下标也大于n)*/

/*
注意  这道题在这卡了很久是因为没有用绝对值,所以有时候都直接访问下标为负值的元素了。。。
*/
class Solution {
public:
    vector<int> findDisappearedNumbers(vector<int>& nums) {
        int temp = 0;
        int local =0;
        for(int i = 0; i< nums.size() ; i++)
        {
            local = abs(nums[i]);
            if(nums[local-1]>0)
            {            
            nums[local-1] = (-nums[local-1]);
            }
        }
        vector<int> result;
        for(int j = 0; j< nums.size() ; j++)
        {
            if(nums[j]>0)
            {
              result.push_back(j+1);  
            }
        }
        
        return result;
    }
};

C# HttpClient 实战:3步绕过Cloudflare指纹拦截,获取完整网页内容 本文详细介绍了如何使用C# HttpClient绕过Cloudflare指纹拦截,获取完整网页内容的3步实战方案。通过完美复制浏览器请求头、智能管理Cookie容器以及处理动态挑战页面,开发者可以有效突破Cloudflare的反爬机制,适用于爬虫开发和数据采集项目。 阅读详情

相关推荐

云漾AI创作平台实战:如何用GPT4.0+Midjourney快速生成商业级插画(附Prompt模板)

本文详细介绍了如何利用云漾AI创作平台结合GPT4.0和Midjourney快速生成商业级插画。通过智能文案生成与视觉化工作流,大幅提升创作效率,适用于电商、社交媒体等多种场景。文章包含实用Prompt模板和参数调整技巧,帮助设计师和内容创作者高效产出专业插画。

weixin_29251567的博客 218

Leetcode.268. 丢失的数字——四法

268. 丢失的数字 给定一个包含 [0, n] 中 n 个数的数组 nums ,找出 [0, n] 这个范围内没有出现在数组中的那个数。 示例 1: 输入:nums = [3,0,1] 输出:2 解释:n = 3,因为有 3 个数字,所以所有的数字都在范围 [0,3] 内。2 是丢失的数字,因为它没有出现在 nums 中。 示例 2: 输入:nums = [0,1] 输出:2 解释:n = 2,因为有 2 个数字,所以所有的数字都在范围 [0,2] 内。2 是丢失的数字,因为它没有出现在 nums 中

xiangguang_fight的博客 743

解决[WARN] : Controller Spawner couldn‘t find the expected controller_manager ROS interface.思路

rrbot例程ros_control配置问题的解决思路 本人刚入门ROS机器人开发,在学习rrbot例程出现了control_manager无法启动的bug。 在启动rrbot_control.launch的时候,出现下列warning: [WARN] [1594362016.372059]: Controller Spawner couldn't find the expected controller_manager ROS interface. 之后再按教程的步骤 rosservice call /

qq_40299650的博客 1万+

51nod 2113 丢失的数字

题目 给你m个1到n之间的整数,你能找出1到n中的哪些整数没有出现吗? 输入 第一行2个整数n,m,直接用空格分隔(1 <= n <= 100000, m < n),表示有m个1到n之间的整数。 接下来m行,每行一个整数ai(1 <= ai <=n,数据保证m个数都不相同)。 输出 每行1个数,从小到大输出输入数据中没有出现过的1到n中的整数。 输入样例 5 3 3 1 4 输出样例 2 5 解题思路 跟上一题一样 就是判断数组里哪个小于1 输出哪个 代码 #include

qq_47705074的博客 861

VXLAN技术详解

VXLAN(虚拟可扩展局域网)是一种Overlay二层虚拟化技术,通过MAC-in-UDP封装在IP网络上构建大规模虚拟二层网络。核心组件包括VTEP(隧道端点)、24位VNI(支持1600万个虚拟网络)和VXLAN网关。相比VLAN,VXLAN具有超大规模扩展、跨三层互联、支持虚拟机无缝迁移等优势,适用于云数据中心多租户隔离、跨数据中心互联等场景。其基于IP路由的封装方式无需改造物理网络,为现代云网络提供了弹性、安全的虚拟化解决方案。

kjkdd的博客 595

OpenClaw Manager Pro - 可视化管理工具

OpenClaw Manager Pro 是一个现代化的 Web 管理界面,用于管理多个 OpenClaw Gateway 实例。🎨美观的界面:深色主题,渐变设计,现代化 UI📡实时监控:WebSocket 实时推送状态和日志🔧完整管理:创建、编辑、删除、启动、停止 Gateway📊多渠道支持:飞书、Telegram、Discord、Slack、微信、钉钉🧩技能管理:可视化配置 61+ 个技能🌍跨平台:支持 macOS、Linux、Windows使用自定义模型系统会自动在中创建},

Maynor的博客 3086

【Leetcode刷题记录_C++】【数据结构】

数据结构 数组 448. 找到所有数组中消失的数字 给你一个含 n 个整数的数组 nums ,其中 nums[i] 在区间 [1, n] 内。请你找出所有在 [1, n] 范围内但没有出现在 nums 中的数字,并以数组的形式返回结果。 输入:nums = [4,3,2,7,8,2,3,1] 输出:[5,6] 思路: 桶计数 代码: class Solution { public: vector<int> findDisappearedNumbers(vector<int>&amp

ycrsw的博客 2080

英伟达(NVIDIA) 显卡型号、计算能力(CC)、CUDA版本、PyTorch版本 对照表

本文全面梳理NVIDIA显卡型号与其计算能力(CC)的对应关系,并详解各代CUDA版本对不同架构的支持与弃用情况,帮助用户判断硬件兼容性。同时,结合PyTorch官方发布版本,整理其支持的CUDA版本清单,指导开发者合理选择深度学习环境配置。涵盖从Jetson嵌入式设备到H100、Blackwell等最新旗舰显卡,是一份实用的AI开发环境搭建参考指南。

寒水馨 · 轻量级技术文档 · hanshuixin.org 4886

二分法查找(c基础)

入门

lb3636363636的博客 442

ue 蓝图 c++ websocket 事件回调

ue 蓝图 c++ websocket 事件回调

jacke121的专栏 166

ican项目四汽车零件智能测量

ican项目四汽车零件智能测量

weixin_72050316的博客 561

寻找缺失的整数

在一个无序数组里有99个不重复的正整数,范围从1到100. 有99个不重复的数字,如何找出缺失的整数 解法1 创建一个哈希表,把这100个整数存入key,然后遍历数组,最终,删除99个数据以后,剩下的就是缺失的整数。 时间复杂度为O(n)空间复杂度为O(n) 解法2 把数组排序,然后遍历数组,发现两个相邻的数字不连续,那么就证明缺失的就是这两个数 解法3 把 1-100数字的累加和加起来,然后再依次减去数组中的数字,就可以求出; ...

delete_bug的博客 678

YOLOv11改进 - C3k2融合 | C3k2 融合 ARConv 自适应矩形卷积:动态调整卷积核形状与采样点

本文介绍了将自适应矩形卷积(ARConv)模块与YOLOv11相结合的方法。ARConv是针对遥感图像全色锐化任务设计的创新卷积模块,可自适应调整卷积核形状与采样点数量,解决传统卷积刚性限制,实现高效特征提取。其工作流程包括学习卷积核高度和宽度、选择采样点数量、生成采样图、卷积实现与空间自适应增强。我们将集成ARConv的C3k2_ARConv模块引入YOLOv11,对相关代码进行修改和注册,并配置了yolov11 - C3k2_ARConv.yaml文件。实验脚本显示,该结合方式应用于目标检测任务。

魔改工程师的博客 1005

leetcode刷题之消失的数字(超详解刷爆力扣)

大家好啊,我是小生啊🙈🙈🙈 从今天开始小生将会和大家一起刷题,从今天开始小生也会开辟新的专栏。😜😜😜 🌞🌞🌞 让我们每日练习,刷爆力扣,冲冲冲 力扣练习第一天:消失的数字一.题目描述二.题目分析二.解决方法1.思路一:先排序再查找2.思路二:逆推相减3.思路三:三.代码实现1.法一2.法二3.法三四.深入总结 一.题目描述 兄弟们,废话不多说直接看题:🙉🙉 示例1: 输入:[3,0,1] 输出:2 示例2: 输入:[9,6,4,2,3,5,7,0,1] 输出:8 二.题目分析 这道题目看

qq_59955115的博客 3万+

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

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

Leetcode 448. 找到所有数组中消失的数字1、问题分析2、问题解决3、总结 1、问题分析 题目链接:https://leetcode-cn.com/problems/find-all-numbers-disappeared-in-an-array/ 具体思路是: 如果是 for 循环过来的,先不更改数组的值, 如果是递归过来的则更改为 0。 更改数组的值之后,再去更改以数组的值为下标的 数组的值, 这样只要在数组中出现的值,一定会被改成 0   代码我已经进行了详细的注释,理解应该没有问题,读

珍惜 8977

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

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

448. 找到所有数组中消失的数字 题目题解一:使用额外空间进行桶排序题解二:原地修改(进阶) ) 题目 给你一个含 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 <= 1

m0_51456787的博客 7327

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

【LeetCode】力扣题——轮转数组、消失的数字、数组串联

1929. 数组串联 - 力扣(LeetCode)思路解题过程复杂度代码演示

艾莉丝努力练剑的博客,感谢大家一直以来的对艾莉丝的支持和鼓励,uu们如果对C/C++方向感兴趣的话,可以通过艾莉丝主页的微信名片加艾莉丝的好友,和努力练剑的艾莉丝一起加油! 1039

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

力扣448 找到所有数组中消失的数字 题干 给定一个范围在 1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。 找到所有在 [1, n] 范围之间没有出现在数组中的数字。 您能在不使用额外空间且时间复杂度为O(n)的情况下完成这个任务吗? 你可以假定返回的数组不算在额外空间内。 示例 输入: [4,3,2,7,8,2,3,1] 输出: [5,6] 解析 说一下本人怎么理解本题的。 首先给定数组长度为n ,正常来说是可以满足 数字

Castle Yeager 成长之路 373

[leetcode]找到所有数组中消失的数字[javascript]

2019年2月11日 找到所有数组中消失的数字 https://leetcode-cn.com/problems/find-all-numbers-disappeared-in-an-array/ 描述 给定一个范围在 1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。找到所有在 [1, n] 范围之间没有出现在数组中的数字。您能在不...

迷途之家 691

找到所有数组中消失的数字_JS leetcode 找到所有数组中消失的数字 题解分析

壹 ❀ 引十天前做的一道题了,一直没整理,今天才花时间去读了官方题解思路,这道题也凸显出了算法思路的重要性,执行耗时差的真不是一点半点。题目来自448. 找到所有数组中消失的数字,题目描述如下:给定一个范围在 1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。找到所有在 [1, n] 范围之间没有出现在数组中的数字。您能在不使用额外空...

weixin_39955732的博客 427

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

这题可以说是数组题里最典型的“原地标记法”应用之一。题目要求我们找出 1...n 中没出现过的数字,而且还给了个进阶要求:在 O(n) 时间、O(1) 额外空间内完成。

记录从移动端、鸿蒙到物联网与AI的完整实战与思考。专注于分享可复用的工程方案与产品思维,尤其深入鸿蒙生态与全栈开发。以十年工程与管理沉淀,为你提供清晰的技术纵深路径。坚信技术的价值在于“贯通”与“落地”。 1170

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

题目: 448. 找到所有数组中消失的数字 - 力扣(LeetCode) (leetcode-cn.com) 思路一:排序 分析: 找到所有在 [1, n] 范围之间没有出现在数组中的数字,将数组进行排序,然后查找前后的数相差是否为0或者1,如果不满足,则存在没有出现过的数字。尤其注意开头和最后一个元素,首元素是否为1,最后一个元素是否等于长度 步骤: 将数组进行排序 判断首元素是不是1,不为1,就将【1,nums[0]】之间的数存入数组 遍历数组,判断前后元素是不是相差0或1,不是,就将两个元

蜀沐的博客 225

LeetCode第448题找到所有数组中消失的数字(Python)

LeetCode第448题找到所有数组中消失的数字(Python)题目描述解题方法和思路创建一个标记数组利用原数组全部大于零的特性进行标记* 题目描述 给定一个范围在 1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。 找到所有在 [1, n] 范围之间没有出现在数组中的数字。 您能在不使用额外空间且时间复杂度为O(n)的情况下完成这...

qq_21407487的博客 543

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

leetcode 448.找到所有数组中消失的数字 题目描述 给定一个范围在 1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。 找到所有在 [1, n] 范围之间没有出现在数组中的数字。 您能在不使用额外空间且时间复杂度为O(n)的情况下完成这个任务吗? 你可以假定返回的数组不算在额外空间内。 示例: 输入: [4,3,2,7,8,...

EngineerHe的博客 644

Leetcode(448)——找到所有数组中消失的数字

Leetcode_448——找到所有数组中消失的数字 题目 题解 方法一:鸽笼原理(The Pigeonhole Principle)+交互元素到对应下表索引上 思路 ​  由题目知,nums 且 nums 中的数字一定属于 [1, n]。所以可以在第一个 for 循环中让 nums[i] 加上特定次数的 nums.size() 。而 nums[i] 加 nums.size() 的次数等于数组 nums 中 i+1 值的个数。 ​  至于为什么是加 nums.size() ,是为了后续的判断。在最后一次

KCDCY的博客 697

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

Leetcode 448.找到所有数组中消失的数字 题目: 给定一个范围在 1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。 找到所有在 [1, n] 范围之间没有出现在数组中的数字。 您能在不使用额外空间且时间复杂度为O(n)的情况下完成这个任务吗? 你可以假定返回的数组不算在额外空间内。 示例: 输入: [4,3,2,7,8,2,3,1] 输出: [5,6] 题解一: /** * * 找出 1 - n 中没有出现的数字

qq_33894488的博客 206
上一篇: 力扣练习题 <两数之和>
下一篇: 力扣练习题<移动零> 双指针
mc10141222
博客等级 码龄6年 10粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mc10141222

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值