LeetCode 35. Search Insert Position
原题链接在这里:https://leetcode.com/problems/search-insert-position/description/
题目:
Given a sorted array and a target value, return the index if the target is found. If not, return the index where it would be if it were inserted in order.
You may assume no duplicates in the array.
Here are few examples.[1,3,5,6]
, 5 → 2[1,3,5,6]
, 2 → 1[1,3,5,6]
, 7 → 4[1,3,5,6]
, 0 → 0
题解:
二分法查找,若是loop中找到了就返回mid, 若是没有找到,跳出loop时,恰巧 l 会走到比target 大的index上, r会走到比target小的index上。
Time Complexity: O(log n). Space O(1).
AC Java:
1 public class Solution { 2 public int searchInsert(int[] nums, int target) { 3 if(nums == null){ 4 throw new IllegalArgumentException("Invalid input array."); 5 } 6 7 int l = 0; 8 int r = nums.length-1; 9 while(l<=r){ 10 int mid = l + (r-l)/2; 11 if(nums[mid] > target){ 12 r = mid-1; 13 }else if(nums[mid] < target){ 14 l = mid+1; 15 }else{ 16 return mid; 17 } 18 } 19 return l; 20 } 21 }
跟上Find First and Last Position of Element in Sorted Array, First Bad Version.
【推荐】2025 HarmonyOS 鸿蒙创新赛正式启动,百万大奖等你挑战
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】开源 Linux 服务器运维管理面板 1Panel V2 版本正式发布
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 复杂业务系统线上问题排查过程
· 通过抓包,深入揭秘MCP协议底层通信
· 记一次.NET MAUI项目中绑定Android库实现硬件控制的开发经历
· 糊涂啊!这个需求居然没想到用时间轮来解决
· 浅谈为什么我讨厌分布式事务
· Coze Studio:字节跳动 Coze 的开源版本来了!第一时间深度解析
· 为大模型 MCP Code Interpreter 而生:C# Runner 开源发布
· 复杂业务系统线上问题排查过程
· 独立开发:高效集成大模型,看这篇就够了
· 在SqlSugar的开发框架的Vue3+ElementPlus前端中增加对报表模块的封装处理,实现常