首页 > 其他分享 >二分查找

二分查找

时间:2023-09-07 16:44:29浏览次数:54  
标签:二分 vector nums int cars long while 查找

//1
int binarySearch(vector<int>& nums, int target) { int left = 0; int right = nums.size() - 1; while (left <= right) { int mid = left + (right - left) / 2; if (nums[mid] == target) { // 找到目标值,返回索引或其他需要的结果 return mid; } else if (nums[mid] < target) { // 目标值在右半部分 left = mid + 1; } else { // 目标值在左半部分 right = mid - 1; } } // 没有找到目标值 return -1; }
//2
long long repairCars(vector<int>& ranks, int cars) { long long L = 0,R = 1LL*ranks[0]*cars*cars; while(L + 1<R){ long long k = L + (R-L)/2; long long tmp = 0; for(int i = 0;i<ranks.size();i++){ tmp += pow(k/ranks[i],0.5); } if(tmp >= cars) R = k; else if(tmp < cars) L = k; } return R; }

 

标签:二分,vector,nums,int,cars,long,while,查找
From: https://www.cnblogs.com/fyjie/p/17685357.html

相关文章

  • 整体二分学习笔记
    有一些题目需要用到二分,但多次询问直接二分,会导致TLE,那么就需要用到一个离线算法,将多个询问放在一起二分,这就是整体二分。条件能够用整体二分解决的题目需要满足以下性质:1.题目具有可二分性(即单调性);2.修改对判定答案的贡献相互独立,修改之间互不影响效果。3.修改如果对判定答......
  • 使用 ONLYOFFICE 宏查找公司标识
    现在各种标识形形色色,要找到标识相关的参考可能有些麻烦,甚至可能让人迷惑。不过,您可以使用ONLYOFFICE宏,让这个过程自动执行。在这篇博文中,我们会向您展示如何创建一个宏,让它同时从外部API检索多种标识类型,并将它们插入到您的电子表格中。什么是ONLYOFFICE宏如果您是一名资深......
  • JavaScript--查找当前节点的父节点
    consttreeData=(item)=>{if(item.parent&&item.parent.length>0){let_parent=data.taskData.filter((data)=>data.id==item.parent);if(_parent&&_parent.length>0){if(da......
  • 二分的边界问题
    二分法的适用场景1.有单调性的题目一定可以二分2.没有单调性也有可能二分由此可见,二分的核心并不是单调性。核心是:定义了某种性质,使得可以将整个数据集一分为二,左半边满足一种性质,右半边不满足;右半边满足另一种性质,左半边不满足。则二分可以寻找左区间的边界,也可以寻找右区......
  • 二分法demo
    1.python实现frommathimportfloorarr=[1,2,3,4,5,6,8,9,10,11]left=0right=len(arr)-1res=7while(left<=right):mid=floor((left+right)/2)if(arr[mid]<res):left=mid+1elif(arr[mid]>res):......
  • JavaScript用indexOf()在字符串数组中查找子串时需要注意的一个地方
    一、遇到问题在 继续更新完善:C++结构体代码转MASM32代码 中,由于结构体成员中可能为数组类型的情况,因此我们在提取结构体成员信息的过程中,需要检测结构体成员名称字符串中是否包括[],如果包括那么我们要截取'['前面的内容作为成员名称。在用字符串的indexOf()方法检测和定位'['......
  • 使用百度文心一言生成bat代码(查找当前目录所有文件名带11的txt文件并修改为22)
    百度文心一言开放给普通用户了,网址:文心一言请用[bat]编程:查找当前目录所有文件名带11的txt文件并修改为22生成的代码需要简单修改下,主要问题在->位置没有使用转义符会导致echo后面的字符到txt中,思路还是可以的,不错点击查看代码@echooffsetlocalenabledelayedexpansion......
  • Java 二分查找
    思路问题描述:在采用顺序存储结构的有序数组中,查找目标元素,如果目标元素存在,返回对应的数组下标。假设查找的有序数组为升序,二分查找采用以下的思路进行解决:将数组中间位置的元素与目标元素比较,如果二者相等,则查找成功;否则,从中间位置将数组分为前、后两个数组;如果中间位置......
  • VS2022 全局查找失效
    问题:ctrl+f全局搜索失效,只能查出来xml文件的内容解决方案:1、重启vs2、删除项目下的.vs文件夹3、删除“C:\ProgramFiles\MicrosoftVisualStudio\2022[Enterprise/Pro/Community]\Common7\IDE\CommonExtensions\Microsoft\Editor\ServiceHub\Indexing.servicehub.service.jso......
  • 二分法及其变体问题
    描述给定一个n个元素有序的(升序)整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回下标,否则返回-1。示例1:输入:nums=[-1,0,3,5,9,12],target=9输出:4解释:9出现在nums中并且下标为4示例2:输入:nums=[-1,0,3,......