14. 不修改数组找出重复的数字【难度: 一般 / 知识点: 抽屉原理 二分】
第一种方法: 开了map计数,多用了空间,map: logn,时间复杂度O(nlogn)
class Solution {public:int duplicateInArray(vector<int>& nums) {map<int,int>mp;for(int i=0;i<nums.size();i++){mp[nums[i]]++;if(mp[nums[i]]>1) return nums[i];}}
};
第二种方法: 抽屉原理,二分,时间复杂度O(nlogn)
class Solution {public:int duplicateInArray(vector<int>& nums) {int l=1,r=nums.size()-1;// 数的取值范围while(l<r){int mid=l+r>>1;int s=0;for(int i=0;i<nums.size();i++) if(nums[i]>=l&&nums[i]<=mid) s++;if(s>mid-l+1) r=mid;//说明左边多放了else l=mid+1;}return l;}
};
14. 不修改数组找出重复的数字【难度: 一般 / 知识点: 抽屉原理 二分】相关推荐
- 剑指offer答案 c语言,剑指offer之C语言不修改数组找出重复的数字
1 题目 不修改数组找出重复的数字 在一个长度为N+1的数组里面的所有数字都在范围1~N范围内,所以数组至少有一个数字是重复的,请找出重复数字,但是不能修改输入的数组. 2 思路 思路1: 我们开 ...
- 不修改数组找出重复的数字
在长度为n+1的数组里的所有数字都在1~n的范围内,所以数组中至少有一个数字是重复的.请找出数组中任意一个重复的数字,但不能修改输入的数组. 思路: 一.把1~n的数字从中间的数字m分成两部分,前面一 ...
- python查找数列中重复数字_在数组中找出重复的数字(异或法)
购买本课程后,可以加51CTO学院李宁老师官方交流群:550369460注意,该群只允许购买李宁老师课程的学员进行技术交流,加群时需要提供在51CTO购买李宁老师课程的订单编号(任何一个课程的订单编号 ...
- java数组找出重复元素及次数_Java查找数组重复元素,并打印重复元素、重复次数、重复元素位置...
面试题查找重复元素并打印重复次数和重复位置,一顿懵逼,回来死磕写下来,打印指定重复次数和最大次数,其他在此基础上可以再更新 package sort; import org.testng.annota ...
- 找出重复的数java_剑指offer:1.找出数组中重复的数(java版)
数组中重复的数: 题目:找出数组中重复的数, 题目描述: 在一个长度为n的数组里的所有数字都在0到n-1的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复的. 也不知道每个数字重复几次.请找 ...
- 找出数组中任一重复的数字
找出数组中任一重复的数字 找出数组中任一重复的数字 在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重 ...
- 【宫水三叶的刷题日记】961. 在长度 2N 的数组中找出重复 N 次的元素
题目描述 这是 LeetCode 上的 961. 在长度 2N 的数组中找出重复 N 次的元素 ,难度为 简单. Tag : 「模拟」.「计数」.「构造」.「哈希表」 给你一个整数数组 nums ,该 ...
- 找出重复的那个数字的异或算法
假如你有一个用1001个整数组成的数组,这些整数是任意排列的,但是你知道所有的整数都在1到1000之间(包括1000).此外,除了一个数字出现两次外,其他的数字只出现了一次.假设你对数组做一次处理,用 ...
- JavaScript 4行代码找出重复出现次数最多的元素及次数
JavaScript 4行代码找出重复出现次数最多的元素及次数 今天遇到的一个面试题,看起来比较简单,解题却用几个循环嵌套,感觉不对劲,后面又想了一个比较优雅的解法,如下: 解题思路 为数组内每个相同 ...
最新文章
- pg 主键系统信息_神仙打架:PG 和 MySQL 到底哪个更好用?
- 实现MFC中Radio Button组绑定同一变量控制
- iOS7以下设备获取mac地址
- 【Linux】29.扫描本机同一局域网内 某端口开启 的主机
- linux——NFS+AUTOFS服务的基本配置
- spring boot创建一个应用
- Spring入门(四)之BeanFactory
- 架构设计 | 异步处理流程,多种实现模式详解
- Redis在Web项目中的应用与实践
- html HTML 文本格式化
- 近似推断:使用高斯混合模型
- matplotlib创建图的基本方法
- 白话关于API与SDK的区别
- 初学WCF,一个简单的示例(增删改查,实体类)
- 【0基础运筹学】【超详细】列生成(Column Generation)
- 小松鼠短视频完开源源码
- 概率密度函数php,科学网—大气边界层风速增量的概率密度函数(Probability Density Functi - 刘磊的博文...
- 计算机常用的辅存储器是,计算机常用的辅存储器有
- 恒生电子java招聘_【恒生电子工资】java开发工程师待遇-看准网
- 交换机trunk接口
热门文章
- SQL Server 查找统计信息的采样时间与采样比例
- Strut2判断是否是AJAX调用
- 【c++手记】句柄类智能指针
- 使用 Android 实现联网
- 对asn.net三层架构的初步认识
- 有关表格边框的css样式表语法说明
- 关于使用asp.net调试器出现的问题及相关解决方法
- 欧拉折线法解常微分方程C语言,05常微分方程数值解.ppt
- MySql数据库explain用法示例_mysql explain的用法
- C++ Primer 5th笔记(chap 17 标准库特殊设施)正则表达式类和输入序列类型