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

二分_查找

时间:2024-06-02 16:31:40浏览次数:25  
标签:二分 arr right int mid 查找 left

int main()
{
	int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
	int k = 7;//要查找的数字
	//在这个arr有序数组中查找k的下标的值
	int sz = sizeof(arr) / sizeof(arr[0]);//数组的元素个数
	int left = 0;
	int right = sz - 1;
	while (left<=right)
	{
		int mid = (left + right) / 2;
		if (arr[mid] < k)
		{
			left = mid + 1;
		}
		else if (arr[mid] > k)
		{
			right = mid - 1;
		}
		else
		{
			printf("找到了,下标为:%d\n", mid);
			break;
		}
	}
	return 0;
}

标签:二分,arr,right,int,mid,查找,left
From: https://blog.csdn.net/yuan_wanqiang/article/details/139245169

相关文章

  • 算法学习笔记——二分搜索
    二分搜索在有序数组中确定num存在还是不存在:当arr[m]==num,则num存在当arr[m]>num,则r=m-1,缩小r的范围,继续往左二分当arr[m]<num,则l=m+1,缩小l的范围,继续往右二分//保证arr有序,才能用这个方法publicstaticboolenexist(int[]arr,intnum){if(ar......
  • LeetCode 704 二分查找
    第一次提交错误:if-else语句中第二个if前未加else,导致循环出错//二分查找//有序情况下的查找方式,时间复杂度O(logn)//注意左右边界以及停止循环条件left<=right classSolution{publicintsearch(int[]nums,inttarget){......
  • L2-014 列车调度(二分法)
    1.题目L2-014列车调度分数25全屏浏览切换布局作者陈越单位浙江大学火车站的列车调度铁轨的结构如下图所示。两端分别是一条入口(Entrance)轨道和一条出口(Exit)轨道,它们之间有N条平行的轨道。每趟列车从入口可以选择任意一条轨道进入,最后从出口离开。在图中有9趟列车,在......
  • Linux搜索查找类
    1.find  【find指令将从指定目录向下递归遍历其中各个子目录,将满足条件的文件或者目录显示在终端】       案例1:按文件名:根据名称查找/home目录下的hello.txt文件find/home-namehello.txt   案例2:按拥有者:查找/opt目录下,用户名称为Tom的......
  • 如何使用带有 typescript 的 playwright 查找 react 应用程序的 LCP?
    需要获取使用playwright和typescript的react应用程序的最大Contentful画面这是用于网络性能测试的,应该是精确的值我尝试了https://web.dev/articles/lcp#measure-lcp-in-javascript并使用Typescript实现了相同的功能但是我们需要知道,我们是否还有其他东西returnp......
  • 【LeetCode刷题】专题三:二分查找模板
    【LeetCode刷题】Day11专题三:二分查找模板:1.朴素二分模板:2.区间左值模板:3.区间右值模板:题目1:704.二分查找思路分析:思路1:朴素二分查找O(logN)题目2:34.在排序数组中查找元素的第一个和最后一个位置思路分析:思路1:区间左右值二分查找O(logN)专题三:二分查找模板......
  • 完全二叉树查找
    描述有一棵树,输出某一深度的所有节点,有则输出这些节点,无则输出EMPTY。该树是完全二叉树。输入描述输入有多组数据,遇到0时终止输入。每组输入一个n(1<=n<=1000),然后将树中的这n个节点依次输入,再输入一个d代表深度。输出描述输出该树中第d层得所有节点,节点间用空格隔开,最后......
  • Leecode热题100---二分查找--4:寻找两个正序数组的中位数
    题目:给定两个大小分别为m和n的正序(从小到大)数组nums1和nums2。请你找出并返回这两个正序数组的中位数。解法1、暴力解法(归并)思路:合并nums1,nums2为第三个数组排序第三个数组按下标,找出中位数classSolution{public: doublefindMedianSortedArrays(vec......
  • 关于二分
    第一种二分查找1)lower_bound函数,查找相同区间的第一个数的下标intlower_bound(vector<int>&nums,inttarget){ intl=0,r=nums.size()-1,mid; while(l<=r)//区间不为空 { mid=l+(r-l)/2;//防止溢出 if(nums[mid]<target)l=mid+1;//[mid+1,right],把小于目标的......
  • Linux查找文件内容
    从文件内容查找匹配指定字符串的行:$grep"被查找的字符串"文件名例子:在当前目录里第一级文件夹中寻找包含指定字符串的.in文件$grep"thermcontact"*/*.in从文件内容查找与正则表达式匹配的行:$grep–e“正则表达式”文件名查找时不区分大小写:$grep–i"......