一、題目
二、解題思路
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)
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。