一、题目
二、解题思路
1、我的思路(又称:论API的重要性)
读完题目之后,我心想这题目怎么看着这么眼熟?好像我之前学过的一个API呀!
于是我回去翻了翻我之前写的博客:小白备战蓝桥杯:Java常用API-CSDN博客
翻到Arrays工具类,看到下面这个API……
好家伙,这题直接秒了!
接着我用5行代码解决了这题
int n = Arrays.binarySearch(nums,target);if(n < 0)return -n-1;elsereturn n;
2、官方题解
看到官方题解我一整个疑惑住了,放着好好的API不用,自己去手写二分查找?
但我也不得不说一句,二分查找确实是一个经典算法,需要积累起来
class Solution {public int searchInsert(int[] nums, int target) {int n = nums.length;int left = 0, right = n - 1, ans = n;while (left <= right) {int mid = ((right - left) >> 1) + left;if (target <= nums[mid]) {ans = mid;right = mid - 1;} else {left = mid + 1;}}return ans;}
}作者:力扣官方题解
链接:https://leetcode.cn/problems/search-insert-position/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。