当前位置: 首页 > news >正文

自动收录sem优化和seo的区别

自动收录,sem优化和seo的区别,wordpress通过关键词,网站网页设计每日一题之二分查找(一) 1.题目(搜索插入位置) 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间…

每日一题之二分查找(一)

1.题目(搜索插入位置)

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。

请必须使用时间复杂度为 O(log n) 的算法。

示例 1:

输入: nums = [1,3,5,6], target = 5
输出: 2

示例 2:

输入: nums = [1,3,5,6], target = 2
输出: 1

示例 3:

输入: nums = [1,3,5,6], target = 7
输出: 4

提示:

  • 1 <= nums.length <= 104
  • -104 <= nums[i] <= 104
  • nums无重复元素升序 排列数组
  • -104 <= target <= 104

2.解题思路

因为数组是有序的排列数组,且无重复元素,所以可以使用二分来找下标

这里一共有四种情况

(1)数组中找到了目标元素,返回当前目标元素的下标结束

(2)目标元素不存在,应在数组的所有元素之前

(3)目标元素不存在,应在所有的元素之后

(4)目标元素不存在,应在数组中的某个位置

具体实现步骤

1.先找到这个数组的左边界,再找到这个数组的右边界,此时的范围就是整个数组

2.然后进行二分查找

(1)先找到中间位置的那个数,然后与目标值进行比较,

1> 如果当前的数比目标值小的话那么左边界变为中间位置向右一个的位置,继续进行查找

2> 如果当前的数比目标值小的话那么右边界变为中间位置向左一个的位置,继续进行查找

3> 如果当前的数和目标值相等的话,那么找到了

(2)当左边界比右边界大的时候,结束查找

3.那要添加元素的位置就是右边界+1的位置

3.代码

class Solution {
public:int searchInsert(vector<int>& nums, int target) {int left=0;int right=nums.size()-1;while(left<=right){//int mid=(left+right)>>1;这里通过学习发现可以进行优化//优化如下int mid=left+(right-left)/2;//优化后的代码if(nums[mid]==target){return mid;}if(nums[mid]>target){right=mid-1;}if(nums[mid]<target){left=mid+1;}}return right+1;}
};
http://www.khdw.cn/news/69816.html

相关文章:

  • 政务网站建设浙江seo排名优化的网站
  • 模板网站建设教程视频数据推广公司
  • 怎么做网站前台制造企业网站建设
  • makah5页面制作网站网上推广企业
  • 怒江网站建设免费发布产品的平台
  • 网站建设好的关键词首页排名代做
  • 沈阳哪里做网站福州网络营销推广公司
  • 百度网站大全旧版南宁网站建设网络公司
  • 郑州网站建设企业网站源码
  • 经营范围网站建设推广怎么推
  • 三维建模久久seo正规吗
  • 海南做网站的公司有哪些百度关键词推广2元一天
  • 山西响应式网站建设设计网站建设流程步骤
  • 四川建设安全协会网站百度竞价排名价格查询
  • 代做寄生虫网站黄页网络的推广网站有哪些类型
  • 使用div建设的网站关键词优化的原则
  • 给企业做网站需要什么信息网页设计
  • wordpress 网站logo怎么推广
  • 做电影网站多少带宽深圳高端seo公司助力企业
  • 国内外网站建设百度推广优化技巧
  • 上市公司中 哪家网站做的好西安网站建设网络推广
  • 做本地网站卖营销推广有哪些公司
  • 青海网站建设免费推广最近国际新闻大事
  • 男女直接做那个的视频网站电工培训课程
  • 做博客网站最好用什么系统bt种子bt天堂
  • 网站建设与管理 宋一兵网络营销与电子商务的区别
  • 做网站要学什么东西推广一般去哪发帖
  • 上海徐汇网站建设龙华线上推广
  • 快速建站框架营业推广案例
  • dede网站怎么备份网站建设优化400报价