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

做网站有的浏览器海口网站自助建站

做网站有的浏览器,海口网站自助建站,网站建设技术的发展,做网站不想用微软雅黑了搜索旋转排序数组 那……二分法呗 数组中的数可以相同 比 33. 搜索旋转排序数组 多了一个「有重复元素」#xff0c;导致无法根据 num nums[0] 来判断 num 在哪一半#xff0c;比如 [1,1,1,1,1,2,1,1,1] 旋转数组两头相等#xff0c;元素 1 可能在左半边可能在右半边 …搜索旋转排序数组 那……二分法呗 数组中的数可以相同 比 33. 搜索旋转排序数组 多了一个「有重复元素」导致无法根据 num nums[0] 来判断 num 在哪一半比如 [1,1,1,1,1,2,1,1,1] 旋转数组两头相等元素 1 可能在左半边可能在右半边 解决方法也很简单只要把「旋转数组两头相等」这种特殊情况排除掉就行了 排除掉旋转数组两头相等的情况后再像33一样判断从哪分 因为只旋转了一次所以数组分为两段两端分别是排序数组那么mid一定会落入其中一种排序好的数列里 如果mid比start大那么前一半是排序数组如果mid比end小那么后一半是排序数组 二分法的难点是代码的细节 以下引用自大佬的题解 第一类 1 0 1 1 1这种。此种情况下 nums[start] nums[mid]分不清到底是前面有序还是后面有序此时 start 即可。相当于去掉一个重复的干扰项。 第二类 2 3 4 5 6 7 1这种也就是 nums[start] nums[mid]。此例子中就是 2 5 这种情况下前半部分有序。因此如果 nums[start] targetnums[mid]则在前半部分找否则去后半部分找。 第三类 6 7 1 2 3 4 5这种也就是 nums[start] nums[mid]。此例子中就是 6 2 这种情况下后半部分有序。因此如果 nums[mid] targetnums[end]。则在后半部分找否则去前半部分找。 class Solution { public:bool search(vectorint nums, int target) {int start0;int endnums.size()-1;int mid;while(startend){midstart(end-start)/2;if(nums[mid]target)return true;if(nums[start]nums[mid])start;else if(nums[start]nums[mid]){if(nums[start]targetnums[mid]target)endmid-1;else{startmid1;}}else{if(nums[end]targetnums[mid]target)startmid1;else endmid-1;}}return false;} };
http://www.w-s-a.com/news/967629/

相关文章:

  • 做网站策划容易遇到哪些问题沈阳公司网站制作
  • 做php网站都用框架吗网站备案当面核验拍摄照片
  • 泉州企业自助建站兰州最好的互联网公司
  • 监察部门网站建设方案网站seo技术教程
  • 个人网站制作源代码下载品牌建设部
  • 网站备案需要准备什么文创产品设计思路
  • 网站开发书籍推荐青岛城阳新闻最新消息
  • 秦皇岛网站建设服务聊城做网站的公司资讯
  • 30岁转行做网站设计丰涵网站建设
  • 山东省和住房建设厅网站首页开发商不按时交房可以退房吗
  • asp网站怎么做404页面跳转本地南通网站建设
  • 点击网站出现微信二维码的链接怎么做申请网站空间怎么做
  • 网站开发的论文题目广告设计排行榜
  • 网络营销网站 功能南京h5制作公司
  • 做网站的费用的会计分录合肥做网站推广哪家好
  • 电子商城网站开发怎么wordpress用的什么主题
  • 榆林电商网站建设网上做试卷的网站
  • 文山网站建设代理中公教育培训机构官网
  • 郑州it培训机构有哪些上海外贸网站seo
  • dw做网站的实用特效广东住房与城乡建设厅网站
  • 模板网站 动易哪方面的网站
  • 怎么给网站做外链邵连虎郑州做网页的公司
  • 重庆网站开发哪家好宁波网站建设caiyiduo
  • 手机网站建设价格手机网站模版更换技巧
  • 哈尔滨松北区建设局网站美妆网站建设
  • 不需要网站备案的空间网站推广的基本方法是哪四个
  • 如何检查网站死链劳动仲裁院内部网站建设
  • 江西省住房和城乡建设网站合同管理系统
  • 网站建设质量保证福州网络推广
  • 高唐网站建设公司广州南站在哪个区