O(n)复杂度求没有出现的数字(leetcode448)
一个长度为N的数组,其中元素取值为1-N,求这个数组中没有出现的、1-N之间的数字。
要求无额外空间,O(n)时间复杂度。
nums[i]=-1表示i数字已经出现过了
class Solution(object):def findDisappearedNumbers(self, nums):""":type nums: List[int]:rtype: List[int]"""i=0 while i<len(nums):if nums[i]==-1 or nums[nums[i]-1]==-1:i+=1continueelse:t=nums[i]-1nums[i]=nums[t]if nums[t]==-1:i+=1continueelse:nums[t]=-1 ans=[]for i in range(len(nums)): if nums[i]!=-1:ans.append(i+1)return ans
转载于:https://www.cnblogs.com/weiyinfu/p/7503037.html
O(n)复杂度求没有出现的数字(leetcode448)相关推荐
- python 无序列表中第k大元素_Python要求O(n)复杂度求无序列表中第K的大元素实例...
昨天面试上来就是一个算法,平时基本的算法还行,结果变个法就不会了...感觉应该刷一波Leecode冷静下...今天抽空看下. 题目就是要求O(n)复杂度求无序列表中第K的大元素 如果没有复杂度的限制很 ...
- python列表求平均值_长篇文讲解:Python要求O(n)复杂度求无序列表中第K的大元素实例...
本文内容主要介绍了Python要求O(n)复杂度求无序列表中第K的大元素实例,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧! 昨天面试上来就是一个算法,平时基本的算法还行,结果变个法 ...
- O(n)复杂度求区间第K大
O(n)复杂度求区间第K大 描述 给你一个数组,O(N)复杂度找出其中第K大的数. 输入 第一行包括两个数,N,K,分别代表数组大小,以及你应该找出第K大的数. 接下来N行,每行包括一个数. 输出 ...
- Java黑皮书课后题第6章:*6.2(求一个整数各位数字之和)编写一个方法,计算一个整数各位数字之和。使用下面的方法头:public static int sumDigits(long n)
6.2(求一个整数各位数字之和)编写一个方法,计算一个整数各位数字之和.使用下面的方法头:public static int sumDigits(long n) 题目 题目概述 槽点 代码 运行示例 ...
- 极有收藏价值的一组难求纯4位数字.com域名 #8847#含义你懂的。 http://t.cn/ae9CTd
极有收藏价值的一组难求纯4位数字.com域名 #8847#含义你懂的. http://t.cn/ae9CTd 转载于:https://www.cnblogs.com/forestbird/archiv ...
- hud 3874 求区间内不同数字的和
http://acm.hdu.edu.cn/showproblem.php?pid=3874 和求区间内不同数字的个数一样. //#include<bits/stdc++.h> //usi ...
- 第六章第二题(求一个整数各位数字之和)(Sum the digits in an integer)
*6.2(求一个整数各位数字之和)编写一个方法,计算一个整数各位数字之和.使用下面的方法头: public static int sumDigits(long n) 例如:sumDigits(234) ...
- c语言组成最大数字,【C语言】输入一组整数,求出这组数字子序列和中最大值...
//输入一组整数.求出这组数字子序列和中最大值 #include int MAxSum(int arr[],int len) { int maxsum = 0; int i; int j; for ( ...
- 蓝桥杯:求一个五位数的数字循环黑洞[快速排序]
任意一个5位数,比如:34256,把它的各位数字打乱,重新排列,可以得到一个最大的数:65432,一个最小的数23456.求这两个数字的差,得:41976,把这个数字再次重复上述过程(如果不足5位,则 ...
最新文章
- keras从入门到放弃(二)多项回归
- DOS网络命令 之 ping
- linux建立与删除目录
- 【操作系统】操作系统不可怕,重装系统不求人,因为我们是GISer!
- java学习(20):巩固练习
- TypeScript 类(Classes)
- 查看其他计算机的共享资源,NetResView (共享资源查看)
- 如何设置Eclipse新建项目的默认编码方式
- 对比Linux系统和Windows系统哪个更好
- JS获取浏览器高度、屏幕高度、宽屏
- 机器学习-线性回归scikit-learn
- 【车间调度】基于matlab粒子群算法求解车间生产调度问题【含Matlab源码 245期】
- Windows中字体库的安装方法
- 计算机字体库位置,电脑cad软件字体库的路径怎么添加
- PHP 仍然是最流行的服务器端编程语言
- 第4章第3节:如何插入或删除表格的行与列 [PowerPoint精美幻灯片实战教程]
- MSET key value [key value ...]
- 美股-史考特(Scottrade)开户详细说明
- py读取xlsx文件
- OC:跟随小码哥一起学习KVC
热门文章
- 添加git 忽略文件
- java多线程知识点总结
- 缓存(之一) 使用Apache Httpd实现http缓存
- PAT-BASIC-1003-我要通过!
- VC++ (二)类的访问级别
- 直接调用内置数据源连接对话框(C#/VB.NET2005源码)
- 【JavaScript 笔记】— 函数高级(变量作用域、解构赋值、方法、高阶函数、闭包、箭头函数、generator)
- 删远端分支报错remote refs do not exist或git: refusing to delete the current branch解决方法
- php再次确认密码,Laravel6.2中用于用户登录的新密码确认流程详解
- OkHttp RouteSelector代理解析