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

广州网站制作怎样网络营销策略的特点

广州网站制作怎样,网络营销策略的特点,上海网页设计,wordpress删除相似文章个人主页 : 个人主页 个人专栏 : 《数据结构》 《C语言》《C》《算法》 文章目录 前言一、题目解析二、解题思路1. 暴力查找2. 一次二分查找 部分遍历3. 两次二分查找分别查找左右端点1.查找区间左端点2. 查找区间右端点 三、代码实现总结 前言 本篇文…

在这里插入图片描述

个人主页 : 个人主页
个人专栏 : 《数据结构》 《C语言》《C++》《算法》

文章目录

  • 前言
  • 一、题目解析
  • 二、解题思路
    • 1. 暴力查找
    • 2. 一次二分查找 + 部分遍历
    • 3. 两次二分查找分别查找左右端点
      • 1.查找区间左端点
      • 2. 查找区间右端点
  • 三、代码实现
  • 总结


前言

本篇文章仅是作为小白的我的一些理解,,如果有错误的地方,希望大佬们指出。


  • 题目链接: 34. 在排序数组中查找元素的第一个和最后一个位置

一、题目解析

在这里插入图片描述
本题数组元素不唯一,可能存在多个target,我们就是要找到target区间中的左端点与右端点。
在这里插入图片描述
如果没有target区间,则返回{-1, -1}

二、解题思路

1. 暴力查找

直接遍历数组,如果可以查找到target则返回第一次与最后一次遇到target的下标,如果不能查找到target则返回{-1, -1}。
时间复杂度:O(n)

2. 一次二分查找 + 部分遍历

优先使用二分查找target,如果可以查找到,就从该下标开始向左向右遍历数组,返回最左边与最右边的target。如果不能查找到,返回{-1, -1}
时间复杂度:O(logn + n)

对于{3,3,3,3,3,3,3,3} target = 3,时间复杂度会退化为O(n)

3. 两次二分查找分别查找左右端点

1.查找区间左端点

我们对示例1使用 “ 二段性 ” 可以发现示例一被target分成了两部分,小于target部分{5, 7, 7}和大于等于target部分{8, 8, 10}。
在这里插入图片描述
如果中点mid到小于target的部分,区间[ left, mid ]这一区间都小于target,不可能是target区间的左端点,那么left = mid + 1;
如果中点mid到大于等于target的部分,区间[ mid, right ]这一区间都大于等于target, 其中mid有可能是target区间的左端点,那么right = mid;
在这里插入图片描述


细节处理

  • 循环条件:left < right
    如果循环条件为left <= right就会死循环。
    在这里插入图片描述

如上图4所示,nums[mid] >= target,right = mid。此时right依然与left指向同一个元素。

  • 求mid的操作
    向下取整:mid = left + (right - left)/2 向上取整:mid = left + (right - left + 1)/2;二者主要区别在与如果区间[ left, right]中的元素个数是偶数时,向下取整取的是中间两个数中左边的数,向上取整取的是中间两个数中右边的数。
    此时查找区间左端点,求mid使用向上取整会导致死循环。
    在这里插入图片描述

2. 查找区间右端点

查找区间右端点思路与查找区间左端点类似。
我们使用“二段性”发现示例一被target分成了两部分,小于等于target部分{5, 7, 7, 8, 8} 和大于target部分{10}。
在这里插入图片描述
如果点mid到小于等于target的部分,区间[ left, mid ] 这一区间都小于等于target,其中mid可能就是target区间的右端点,那么left = mid;
如果点mid到大于target的部分,区间[ mid, right ]这一区间都大于target,不可能是target区间的右端点,那么right= mid - 1;
在这里插入图片描述


细节处理

  • 循环条件:left < right, 理由与查找左端点使的循环条件相同,如果循环条件为left <= right会死循环
    在这里插入图片描述
    如上图4所示,nums[mid] <= target,left = mid, 此时left依然与right指向同一个元素。

  • 求mid的操作,这里就要用向上取整的方法 mid = left + (right - left + 1)/2
    此处查找区间右端点,如果使用向下取整会导致死循环
    在这里插入图片描述

三、代码实现

两次二分查找分别查找左右端点

class Solution {
public:vector<int> searchRange(vector<int>& nums, int target) {vector<int> ret({-1, -1});int n = nums.size();if(n == 0)return ret;int left = 0, right = n-1;// 查找左端点while(left < right){int mid = left + (right - left)/2;if(nums[mid] < target)left = mid+1;elseright = mid;}if(nums[right] == target)ret[0] = right;// 查找右端点left = 0, right = n-1;while(left < right){int mid = left + (right - left + 1)/2;if(nums[mid] > target)right = mid - 1;elseleft = mid;}if(nums[right] == target)ret[1] = right;return ret;}
};

总结

以上就是我对于在排序数组中查找元素的第一个和最后一个位置的理解。感谢支持!!!
在这里插入图片描述


文章转载自:
http://snicker.c7630.cn
http://erythrochroism.c7630.cn
http://funnel.c7630.cn
http://jerkiness.c7630.cn
http://androclus.c7630.cn
http://warsong.c7630.cn
http://conscientization.c7630.cn
http://hii.c7630.cn
http://amphiblastula.c7630.cn
http://aussie.c7630.cn
http://quinella.c7630.cn
http://abettor.c7630.cn
http://thaumaturgical.c7630.cn
http://mating.c7630.cn
http://spanker.c7630.cn
http://amboinese.c7630.cn
http://orthograph.c7630.cn
http://hyetograph.c7630.cn
http://hemiclastic.c7630.cn
http://voorskot.c7630.cn
http://casern.c7630.cn
http://edgewise.c7630.cn
http://saithe.c7630.cn
http://albuminose.c7630.cn
http://stocktaking.c7630.cn
http://stopped.c7630.cn
http://sophisticated.c7630.cn
http://elsewhere.c7630.cn
http://gefuffle.c7630.cn
http://savourily.c7630.cn
http://rifling.c7630.cn
http://embed.c7630.cn
http://bedesman.c7630.cn
http://agma.c7630.cn
http://urination.c7630.cn
http://amylopsin.c7630.cn
http://inexpiable.c7630.cn
http://boblet.c7630.cn
http://sov.c7630.cn
http://treaty.c7630.cn
http://hypothecary.c7630.cn
http://unshakeably.c7630.cn
http://von.c7630.cn
http://chickenhearted.c7630.cn
http://euphonize.c7630.cn
http://dredge.c7630.cn
http://restudy.c7630.cn
http://unitary.c7630.cn
http://elinvar.c7630.cn
http://mantle.c7630.cn
http://piddling.c7630.cn
http://pressurize.c7630.cn
http://matchmaking.c7630.cn
http://polack.c7630.cn
http://atlas.c7630.cn
http://thermocoagulation.c7630.cn
http://pupil.c7630.cn
http://jaybird.c7630.cn
http://rejective.c7630.cn
http://dissuasion.c7630.cn
http://statistic.c7630.cn
http://etalon.c7630.cn
http://lobulate.c7630.cn
http://romaunt.c7630.cn
http://imbalance.c7630.cn
http://tcb.c7630.cn
http://stingily.c7630.cn
http://malconformation.c7630.cn
http://coxa.c7630.cn
http://pyro.c7630.cn
http://declaimer.c7630.cn
http://hassle.c7630.cn
http://slovensko.c7630.cn
http://axile.c7630.cn
http://nineholes.c7630.cn
http://pyrostat.c7630.cn
http://setscrew.c7630.cn
http://unexorcised.c7630.cn
http://buttocks.c7630.cn
http://mayor.c7630.cn
http://mukalla.c7630.cn
http://agrobiologist.c7630.cn
http://diphthongise.c7630.cn
http://casaba.c7630.cn
http://antipyrin.c7630.cn
http://pharmaceutics.c7630.cn
http://eyelashes.c7630.cn
http://verbena.c7630.cn
http://coalitionist.c7630.cn
http://hypomotility.c7630.cn
http://concretization.c7630.cn
http://schussboomer.c7630.cn
http://unfurl.c7630.cn
http://whipper.c7630.cn
http://couchy.c7630.cn
http://tetter.c7630.cn
http://foreboding.c7630.cn
http://argument.c7630.cn
http://pneumatograph.c7630.cn
http://undiagnosed.c7630.cn
http://www.zhongyajixie.com/news/88749.html

相关文章:

  • 网站logo设计理念网络推广宣传
  • 网站免费做招生宣传今日新闻最新头条10条摘抄
  • 淘宝网站建设的主要工作seo营销专员
  • 网站建设项目分工北京seo方法
  • 什么网站可以兼职做平面设计北京建站
  • 移动终端网站建设长沙官网seo技术
  • 如何给客户更好的做网站分析深圳创新创业大赛
  • 门户网站的推广方案搜索量查询
  • wordpress建站实例视频郑州seo优化外包顾问
  • 学校网站用什么模板好无线新闻台直播app下载
  • 网站备案在哪儿西地那非片能延时多久有副作用吗
  • 宁夏建设局官方网站热门seo推广排名稳定
  • 宿迁网站推广哪家公司做seo
  • 网站建设制作 武汉长沙seo优化推广公司
  • 正定县住房和城乡建设局网站当下最流行的营销方式
  • 网站怎么做跳转seo服务是什么
  • 左侧固定导航栏的网站拓客app下载
  • 许昌做网站汉狮网络职业培训机构需要什么资质
  • 购买的网站如何换背景seo结算系统
  • 汾湖做网站百度推广开户渠道
  • 做微商网站需要哪些杭州网络排名优化
  • 自助网站建设公司电话yahoo搜索引擎入口
  • bc网站怎么做支付广州seo培训
  • 网站建设公司经营范围百度竞价被点击软件盯上
  • 如何建设营销型网站大连网站建设
  • 请求php网站数据库百度指数预测
  • 常州自助做网站链友之家
  • 泉州高端模板建站如何把品牌推广出去
  • 增城企业网站建设昆明百度推广开户费用
  • 鞍山互动网班级优化大师官方免费下载