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

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

时间:2022-09-29 15:36:25浏览次数:45  
标签:448 数字 nums res 位置 num 数组 元素

 

 方法1:

1 counter = set(nums)
2 N = len(nums)
3 res = []
4 for i in range(1,N+1):
5     if i not in counter:
6         res.append(i)
7 return res

方法2:原地修改数组(这个想法有些厉害)

当前元素是 nums[i],那么我们把第 nums[i] - 1位置的元素 乘以 -1,表示这个该位置出现过。当然如果 第nums[i]−1 位置的元素已经是负数了,表示 nums[i]已经出现过了,就不用再把第 nums[i] - 1位置的元素乘以 -1。最后,对数组中的每个位置遍历一遍,如果 i位置的数字是正数,说明 i未出现过。

 空间复杂度为o(1)

1 for i,num in enumerate(nums):
2     if nums[abs(num)-1] > 0:
3         nums[abs(num)-1] *= -1
4 res = []
5 for i in range(len(nums)):
6     if nums[i] > 0:
7         res.append(i+1)
8 return res

 

标签:448,数字,nums,res,位置,num,数组,元素
From: https://www.cnblogs.com/wanxueyu/p/16741752.html

相关文章

  • 企业如何通过智能产品实现人力资源数字化转型
        在如今数字化时代,如果企业人力资源管理的内外部环境发生改变,战略目标将会随着市场环境产生变化,组织架构越来越扁平化、人员流动性也会增高。传统的企业人力资源......
  • 697 数组的度
     1、找到数组的度2、找到与nums相同度的最短连续子数组使用三个字典,left用于记录每个元素在数组中第一次出现的位置,right用于记录每个元素在数组中最后一次出现的位置......
  • 如何构建数字化工厂?
    首先你的明白什么事数字化工厂。数字化工厂实质上就是物理形式的工厂在数字空间的投射,并基于此来实现的以人机物(Human,Machines,Things)泛在互联为基础上,深度感知为支撑,智能决......
  • Pixologic ZBrush Mac/Win(三维数字雕刻软件)中文
    三维数字雕刻软件哪款好用?现为大家提供ZBrush中文版,在使用ZBrush时,您将获得与世界各地电影工作室、游戏开发人员、玩具/藏品制造商、珠宝设计师、汽车/航空设计师、插图画......
  • 企业数字化的难点有哪些?
    怕转,不敢转,这是企业数字化难点之一,不知道怎么转,这是难点之二,也是企业数字化困局的核心所在!高达80%失败率,是很多企业对数字化望而却步的最主要原因,面对这样的数据,怕是自然的......
  • 数字化转型有什么好的系统吗?
    这个问题有点类似于我要去上班,有什么好看的衣服?别人穿着好看的衣服穿到你身上就会好看么?人与人之间高矮胖瘦各有差异、肤色体型各不相同,选衣服得根据自己的体型、肤色、个......
  • 有什么软件应用能够助力企业数字化转型?
    像工业APPs、ERP、MES等软件都是在企业数字化转型中发挥实实在在的作用的!总的来说对每个企业而言哪类软件助力更明显取决于企业所属行业、类型、规模、管理理念等多个方面,......
  • java代码练习(数组)基于黑马的课自学
    代码练习数组本次练习全部使用黑马的课中给出的模型本博客的意义在于统计我平时写代码过程中的错误模型一错误代码所写代码及其运行结果可见其不符合需求原因:“......
  • java初步学习 数组(基于黑马的课进行自学,初学者,不喜勿喷)8
    初步学习数组基本概念数组是指一种容器,用来同时储存同种数据类型的多个值如:指定一个数组名为“base”,数据类型为“int”,即可同时储存如“13,19,100”等类型为“int”的......
  • 第六次笔记-数组
    六.数组前言​1.一维数组​ 2.二维数组​ 3.多维数组数组属于数据类型中的一种数据结构:就是帮助我们更好的管理与使用数据!!!变量数组结构体链表......