35.|35. 搜索插入位置
- 搜索插入位置
【35.|35. 搜索插入位置】你可以假设数组中无重复元素。
示例 1:
输入: [1,3,5,6], 5
输出: 2
示例 2:
输入: [1,3,5,6], 2
输出: 1
示例 3:
输入: [1,3,5,6], 7
输出: 4
示例 4:
输入: [1,3,5,6], 0
输出: 0
实现代码如下:
class Solution { public: int searchInsert(vector& nums, int target) { int i;
int length = nums.size();
if (nums[length - 1] < target)
{
return length;
}
else if (target < nums[0])
{
return 0;
} for (i = 0;
i < length;
++i)
{
if (nums[i] == target)
{
return i;
}
else if ((nums[i] < target) && (target < nums[i + 1]))
{
return (i+1);
}
}return -1;
}
};
运行结果:
文章图片
好的参考代码:
class Solution {
public:
int searchInsert(vector& nums, int target) {
int n = nums.size();
if(n == 0) return 0;
int left = 0;
int mid = 0;
while(left < n)
{
mid = (left + n) >> 1;
if(nums[mid] < target)
left = mid + 1;
else if(nums[mid] == target)
return mid;
else
n = mid;
}
return n;
}
};
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200601175323705.png)
推荐阅读
- 【译】20个更有效地使用谷歌搜索的技巧
- locate搜索
- springboot结合redis实现搜索栏热搜功能及文字过滤
- 茶事|茶事 | 单丛里的一泡奇葩
- Pytorch学习|sklearn-SVM 模型保存、交叉验证与网格搜索
- 销量搜索
- 技术|为参加2021年蓝桥杯Java软件开发大学B组细心整理常见基础知识、搜索和常用算法解析例题(持续更新...)
- 17个搜索引擎
- 搜索引擎有哪些
- 05-1如何搜索与收集学习资料