C# 二分法查询代码
二分法查找,也称为折半法,是一种在有序数组中查找特定元素的搜索算法。
使用二分法的前提条件是:在有序数组中查找特定元素
public static int SearchInsert(int[] nums, int target) { int start = 0;//开始索引 int end = nums.Length - 1;//结束索引 int mid = 0;//取中间索引 while (start <= end) { mid = start+(end - start) / 2; if (target == nums[mid]) { return mid; } if (target < nums[mid]) { end = mid - 1; } else if (target > nums[mid]) { start = mid + 1; } } return start; }
代码解析:
二分查找的思路是
1.定义查找范围。start, end 开始索引和结束索引
2.折半缩小查找范围即mid=start+(end - start) / 2;防止数值溢出
如果目标数大于对半的数,则要插入的数在对半的右边,则开始查找的范围就需要更改为 start=mid+1;即对半之后的下一个数
如果目标数小于对半的数,则要插入的数在对半的左边,则结束查找的范围就需要缩短到 end=mid-1;即对半的前一个数
3.折半一次还没有找到就需要再次进行折半,重复步骤2的操作
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现