第一种方法: 开了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. 不修改数组找出重复的数字【难度: 一般 / 知识点: 抽屉原理 二分】相关推荐

  1. 剑指offer答案 c语言,剑指offer之C语言不修改数组找出重复的数字

    1  题目 不修改数组找出重复的数字 在一个长度为N+1的数组里面的所有数字都在范围1~N范围内,所以数组至少有一个数字是重复的,请找出重复数字,但是不能修改输入的数组. 2  思路 思路1: 我们开 ...

  2. 不修改数组找出重复的数字

    在长度为n+1的数组里的所有数字都在1~n的范围内,所以数组中至少有一个数字是重复的.请找出数组中任意一个重复的数字,但不能修改输入的数组. 思路: 一.把1~n的数字从中间的数字m分成两部分,前面一 ...

  3. python查找数列中重复数字_在数组中找出重复的数字(异或法)

    购买本课程后,可以加51CTO学院李宁老师官方交流群:550369460注意,该群只允许购买李宁老师课程的学员进行技术交流,加群时需要提供在51CTO购买李宁老师课程的订单编号(任何一个课程的订单编号 ...

  4. java数组找出重复元素及次数_Java查找数组重复元素,并打印重复元素、重复次数、重复元素位置...

    面试题查找重复元素并打印重复次数和重复位置,一顿懵逼,回来死磕写下来,打印指定重复次数和最大次数,其他在此基础上可以再更新 package sort; import org.testng.annota ...

  5. 找出重复的数java_剑指offer:1.找出数组中重复的数(java版)

    数组中重复的数: 题目:找出数组中重复的数, 题目描述: 在一个长度为n的数组里的所有数字都在0到n-1的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复的. 也不知道每个数字重复几次.请找 ...

  6. 找出数组中任一重复的数字

    找出数组中任一重复的数字 找出数组中任一重复的数字   在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重 ...

  7. 【宫水三叶的刷题日记】961. 在长度 2N 的数组中找出重复 N 次的元素

    题目描述 这是 LeetCode 上的 961. 在长度 2N 的数组中找出重复 N 次的元素 ,难度为 简单. Tag : 「模拟」.「计数」.「构造」.「哈希表」 给你一个整数数组 nums ,该 ...

  8. 找出重复的那个数字的异或算法

    假如你有一个用1001个整数组成的数组,这些整数是任意排列的,但是你知道所有的整数都在1到1000之间(包括1000).此外,除了一个数字出现两次外,其他的数字只出现了一次.假设你对数组做一次处理,用 ...

  9. JavaScript 4行代码找出重复出现次数最多的元素及次数

    JavaScript 4行代码找出重复出现次数最多的元素及次数 今天遇到的一个面试题,看起来比较简单,解题却用几个循环嵌套,感觉不对劲,后面又想了一个比较优雅的解法,如下: 解题思路 为数组内每个相同 ...

最新文章

  1. pg 主键系统信息_神仙打架:PG 和 MySQL 到底哪个更好用?
  2. 实现MFC中Radio Button组绑定同一变量控制
  3. iOS7以下设备获取mac地址
  4. 【Linux】29.扫描本机同一局域网内 某端口开启 的主机
  5. linux——NFS+AUTOFS服务的基本配置
  6. spring boot创建一个应用
  7. Spring入门(四)之BeanFactory
  8. 架构设计 | 异步处理流程,多种实现模式详解
  9. Redis在Web项目中的应用与实践
  10. html HTML 文本格式化
  11. 近似推断:使用高斯混合模型
  12. matplotlib创建图的基本方法
  13. 白话关于API与SDK的区别
  14. 初学WCF,一个简单的示例(增删改查,实体类)
  15. 【0基础运筹学】【超详细】列生成(Column Generation)
  16. 小松鼠短视频完开源源码
  17. 概率密度函数php,科学网—大气边界层风速增量的概率密度函数(Probability Density Functi - 刘磊的博文...
  18. 计算机常用的辅存储器是,计算机常用的辅存储器有
  19. 恒生电子java招聘_【恒生电子工资】java开发工程师待遇-看准网
  20. 交换机trunk接口

热门文章

  1. SQL Server 查找统计信息的采样时间与采样比例
  2. Strut2判断是否是AJAX调用
  3. 【c++手记】句柄类智能指针
  4. 使用 Android 实现联网
  5. 对asn.net三层架构的初步认识
  6. 有关表格边框的css样式表语法说明
  7. 关于使用asp.net调试器出现的问题及相关解决方法
  8. 欧拉折线法解常微分方程C语言,05常微分方程数值解.ppt
  9. MySql数据库explain用法示例_mysql explain的用法
  10. C++ Primer 5th笔记(chap 17 标准库特殊设施)正则表达式类和输入序列类型