LeetCode力扣每日一题(Java):35、搜索插入位置
2023-12-15 09:53:23
一、题目
二、解题思路
1、我的思路(又称:论API的重要性)
读完题目之后,我心想这题目怎么看着这么眼熟?好像我之前学过的一个API呀!
于是我回去翻了翻我之前写的博客:小白备战蓝桥杯:Java常用API-CSDN博客
翻到Arrays工具类,看到下面这个API……
?好家伙,这题直接秒了!
接着我用5行代码解决了这题
int n = Arrays.binarySearch(nums,target);
if(n < 0)
return -n-1;
else
return 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)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
文章来源:https://blog.csdn.net/lbcbjtlhmjq/article/details/134923136
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!