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

做网站费用分摊入什么科目30天网站建设实录下载

做网站费用分摊入什么科目,30天网站建设实录下载,电商系统的服务怎么样,台州做网站需要多少钱每日一题之二分查找(一) 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.yayakq.cn/news/120039/

相关文章:

  • 西安做网站的公司在哪开发企业网站的公司
  • 怀化建设网站合肥整站推广
  • 如何在电脑上打开自己做的网站延庆网站建设
  • 微信上浏览自己做的网站吗小红书推广方法
  • 安什么网站建设建站公司网站模板
  • 西樵网站设计网站建设策划模板下载
  • discuz网站编码萧山网站建设争锋网络
  • vps如果制作论坛网站哪家企业网站做的好
  • 宁波高端网站建设联系方式wordpress php5.5
  • 海南网站建设哪里好修改wordpress入口地址
  • 江西省网站开发企业电子商务网站开发
  • 国际网站平台有哪些公众平台微信登录
  • 电子商务网站html模板怎样做网络推广效果好视频
  • 服务周到的做网站大型网站建设建站模板
  • 哪些做网站的公司比较好济南的互联网公司
  • 哈尔滨专业建站免费咨询wordpress怎么弄登录
  • 金阊网站建设自己注册了个域名想做一个网站
  • 网站开发技术员网站建设部署与发布试题
  • 建设安全监督站的网站东莞松山湖天气
  • 男生做男生网站在那看北京4a广告公司
  • 深圳企业网站制作设计珠海网站建设解决方案
  • wordpress制作网站教程网站开发公司安心加盟
  • 汕头网站排名创世网站
  • 郑州网站推广公司案例小昆山网站建设
  • 现在建个企业网站要多少钱入门做网站
  • 演示网站怎么做在线可以做翻译的网站吗
  • 网站开发的开题报告模板济南专门做公司网站的公司
  • 有关网站开发的国外书籍自助建站网站seo公司
  • 网站排名费用如何登录qq网页版
  • 网站 做购物车想做网站怎么做