基础算法--二分查找插入位置
给定一个有序数组如 [0,1,2,3,4] (从小达大排序)和一个正整数 num,查找二分插入位置,使得,插入num后的数组依然有序
代码如下:
Java 版本
public int getInsertIndex(int[] nums, int num) { if (nums == null || nums.length == 0) return 0; int i = 0; int j = nums.length - 1; while (i <= j) { int mid = (i + j) / 2; if (nums[mid] < num) { i = mid + 1; } else if (nums[mid] > num) { j = mid - 1; } else { return mid; } } // 如果是升序则返回i,如果是降序返回j return i; }
Python 版本:
def get_insert_index(nums: list[int], num: int) -> int: if len(nums) == 0: return 0 i, j = 0, len(nums) - 1 while i <= j: mid = (i + j) // 2 if nums[mid] == num: return mid elif nums[mid] > num: j = mid - 1 else: i = mid + 1 # 升序返回 i,倒序返回 j return i
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具