当前位置: 首页 > news >正文

上海的网站设计公司价格邹城外贸网站建设

上海的网站设计公司价格,邹城外贸网站建设,企业管理系统免费下载,亳州市网站建设【题目链接】 287. 寻找重复数 【题目描述】 【题解】 定义cnt[i]cnt[i]cnt[i]表示numsnumsnums数组中小于等于iii的数有多少个,假设我们重复的数是targettargettarget,那么 [1,target−1][1,target−1][1,target−1]里的所有数满足cnt[i]≤icnt[i]≤ic…

【题目链接】
287. 寻找重复数
【题目描述】
在这里插入图片描述
【题解】
定义cnt[i]cnt[i]cnt[i]表示numsnumsnums数组中小于等于iii的数有多少个,假设我们重复的数是targettargettarget,那么 [1,target−1][1,target−1][1,target1]里的所有数满足cnt[i]≤icnt[i]≤icnt[i]i[target,n][target,n][target,n]里的所有数满足cnt[i]>icnt[i]>icnt[i]>i,具有单调性。因此可以使用二分算法。
每次计算mid=(l+r)>>1mid = (l + r) >> 1mid=(l+r)>>1。计算cnt[mid]cnt[mid]cnt[mid],即数组中小于等于midmidmid的数字的个数。如果cnt[mid]>midcnt[mid] > midcnt[mid]>mid,说明重复的数字在区间[mid,n][mid, n][mid,n]内,调整l=mid+1l = mid + 1l=mid+1;否则,重复数字在[1,mid−1][1, mid-1][1,mid1]内,调整r=mid−1r = mid - 1r=mid1
继续这个过程直到找到重复数字。

【AC代码】

class Solution {
public:int findDuplicate(vector<int>& nums) {int n = nums.size();int l = 1, r = n - 1, ans = -1;while (l <= r) {int mid = (l + r) >> 1;int cnt = 0;for (int i = 0; i < n; ++i) {if(nums[i] <= mid)cnt++;}if (cnt <= mid) {l = mid + 1;} else {r = mid - 1;ans = mid;}}return ans;}
};

【思考&收获】
二分的题,当你找到要对什么进行二分的时候,就已经成功一半了。

http://www.dtcms.com/a/415564.html

相关文章:

  • k8s kubelet 错误 Network plugin returns error: cni plugin not initialized
  • 门户网站首页学校网站班级网页建设制度
  • 中山高端网站建设wordpress 首页 摘要
  • 把server2003安装到腾讯云服务器上nt5.2.3790
  • 交互式多媒体网站开发如何做收费影视资源网站
  • 广州网站开发东莞响应式网站
  • 解决 Vite + React 项目部署 GitHub Pages 的完整指南:从 404 到成功部署
  • 一般做网站什么价格手机网站建设的教程视频教程
  • 网站开发工具的功能包括html网站建设好了怎么在百度可以搜到
  • 电源输入端的 X,Y 安全电容
  • wordpress免费主机优化网站的公司
  • windows 建设网站如何打开网站网页
  • 鸿蒙NEXT传统蓝牙开发指南:从基础到实战的完整解决方案
  • 工商注册网站官网WordPress比赛竞猜插件
  • Gin Web Framework - 高性能 Go Web 框架
  • golang gin 项目从零发布 Kubernetes NodePort 模式
  • 5年经验,没安装部署过Nginx?
  • Java面试-并发面试(二)
  • 纺织网站制作123纺织网科技小制作小发明
  • HashMap底层源码
  • 找个小网站做熟食的网站美食网站
  • SpringBoot项目Excel模板下载功能详解
  • 搭建钓鱼网站教程互联网排名前十名的公司
  • 建立房产门户网站需要多少钱怎么修改网站备案信息
  • ​CentOS 7 安装 net-tools.rpm 包步骤详解(附 rpm 命令和 yum 方法)​附安装包
  • 品牌网站建设c重庆网站建设 客户同程
  • pci总线pci_dev的创建和匹配
  • 网站建设 百科自微网站首页
  • WebGoat - 刻意设计的不安全Web应用程序
  • 最新网站推广方法营销型网站的例子