[LeetCode][Java] Search Insert Position
题目:
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
题意:
给定一个有序数组和一个目标值。假设在数组中找到该目标值。就返回这个目标值的位置标号。假设没有找到,就返回该目标值插入该数组中时的位置标号。
你能够如果该数组中没有反复元素。
以下是一些列子:
[1,3,5,6]
,
5 → 2
[1,3,5,6]
,
2 → 1
[1,3,5,6]
,
7 → 4
[1,3,5,6]
,
0 → 0
算法分析:
二分搜索就可以。
直接上代码
AC代码:
<span style="font-size:12px;">public class Solution { public int searchInsert(int[] A, int target) { int i = 0; int j = A.length - 1; while (i <= j) { int mid = (int)((i + j)/2); if (A[mid] == target) return mid; else if (A[mid] > target) j = mid - 1; else i = mid + 1; } return i; } }</span>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】Flutter适配HarmonyOS 5知识地图,实战解析+高频避坑指南
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合终身会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步