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

那个网站专门做二手衣服的成都哪家公司做网站比较好

那个网站专门做二手衣服的,成都哪家公司做网站比较好,wordpress 免费注册,零基础建设网站视频❓剑指 Offer 11. 旋转数组的最小数字 难度#xff1a;简单 把一个数组最开始的若干个元素搬到数组的末尾#xff0c;我们称之为数组的旋转。 给你一个可能存在 重复 元素值的数组 numbers #xff0c;它原来是一个升序排列的数组#xff0c;并按上述情形进行了一次旋转…❓剑指 Offer 11. 旋转数组的最小数字 难度简单 把一个数组最开始的若干个元素搬到数组的末尾我们称之为数组的旋转。 给你一个可能存在 重复 元素值的数组 numbers 它原来是一个升序排列的数组并按上述情形进行了一次旋转。请返回旋转数组的最小元素。例如数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一次旋转该数组的最小值为 1。 注意数组 [a[0], a[1], a[2], ..., a[n-1]] 旋转一次 的结果为数组 [a[n-1], a[0], a[1], a[2], ..., a[n-2]] 。 示例 1 输入numbers [3,4,5,1,2] 输出1 示例 2 输入numbers [2,2,2,0,1] 输出0 提示 n numbers.length1 n 5000-5000 numbers[i] 5000numbers 原来是一个升序排序的数组并进行了 1 至 n 次旋转 注意本题与 154. 寻找旋转排序数组中的最小值 II 相同。 思路二分查找 将旋转数组对半分可以得到一个包含最小元素的新旋转数组以及一个非递减排序的数组。新的旋转数组的长度是原数组的一半从而将问题规模减少了一半这种折半性质的算法的时间复杂度为 O ( l o g 2 N ) O(log2N) O(log2N)。 此时问题的关键在于确定对半分得到的两个数组哪一个是旋转数组哪一个是非递减数组。我们很容易知道非递减数组的第一个元素一定小于等于最后一个元素。 通过修改二分查找算法进行求解left、mid、right 分别代表包含最小元素的新旋转数组 左、中、右 当 numbers[mid] numbers[right]时 [leftmid] 区间内的数组是非递减数组[mid 1, right] 区间内的数组为新的旋转数组此时left mid 1当 numbers[mid] numbers[right]时 [midright] 区间内的数组是非递减数组[left, mid] 区间内的数组为新的旋转数组此时right mid当 numbers[mid] numbers[right]时 无法判断哪一个是旋转数组哪一个是非递减数组此时 right- -直到能判断。 代码(C、Java) C class Solution { public:int minArray(vectorint numbers) {int left 0;int right numbers.size() - 1;if(right 0) return numbers[0];while(left right){int mid left (right - left) / 2;if(numbers[mid] numbers[right]){left mid 1;}else if(numbers[mid] numbers[right]){right mid;}else{right--;}}return numbers[left];} };Java class Solution {public int minArray(int[] numbers) {int left 0;int right numbers.length - 1;if(right 0) return numbers[0];while(left right){int mid left (right - left) / 2;if(numbers[mid] numbers[right]){left mid 1;}else if(numbers[mid] numbers[right]){right mid;}else{right--;}}return numbers[left];} }运行结果 复杂度分析 时间复杂度 O ( l o g n ) O(logn) O(logn)平均时间复杂度为 O ( l o g ⁡ n ) O(log⁡n) O(log⁡n)其中 n 是数组 numbers 的长度。如果数组是随机生成的那么数组中包含相同元素的概率很低在二分查找的过程中大部分情况都会忽略一半的区间。而在最坏情况下如果数组中的元素完全相同那么 while 循环就需要执行 n 次每次忽略区间的右端点时间复杂度为 O(n)。空间复杂度 O ( 1 ) O(1) O(1)。 题目来源力扣。 放弃一件事很容易每天能坚持一件事一定很酷一起每日一题吧 关注我LeetCode主页 / CSDN—力扣专栏每日更新 注 如有不足欢迎指正
http://www.yutouwan.com/news/100939/

相关文章:

  • 大型网站建设建设公司排名开公司做网站
  • 快速免费建网站刚成立公司如何做网站
  • 产品展示网站 源码扬中网站建设如何
  • 女生做网站编辑好不好网络营销的方法有哪些?
  • wordpress 直接连接seo优化服务商
  • 免费建站网站一级123456海南省建设银行官方网站招聘
  • gta5线下办公室网站正在建设wordpress登录后评论
  • 移动应用开发公司网站模板徐州市建设工程质监站网站
  • 网站建设的7种流程广州十大电商公司
  • 网站建设与网页设计课石家庄网站建设费用
  • 建筑网站、小程序微信如何开发
  • 网站交互主要做什么dede网站文档不能更新
  • 哪里有卖自己做的网站上海洛可可设计公司
  • 淄博网站建设招聘十大搜索引擎入口
  • 沈阳网站开发工程师招聘网h5响应式网站设计方案
  • 上海龙雨建设工程有限公司网站建设人才网证书查询
  • 模版网站是什么意思福建建筑信息平台
  • 阿里云服务器搭建个人网站深圳专业网站制作多少钱
  • 如皋建设工程局网站网站建设中的注册和登录页面
  • 如何把做的网站放到百度上网站建设开发 脚本语言
  • 沈阳高端网站开发一套软件大概要多少钱
  • 暴走漫画网站建设目的找项目去哪个网站
  • 自助 建站安康信息平台
  • 怎么做一个网站 免费免费广告设计制作网站
  • 电商设计工资站长工具seo推广
  • 安防公司做网站图片小说阅读网站开发视频
  • 小程序开发和网站开发的区别wordpress导航栏改字体
  • 4399网站开发人员 被挖走给有后台的网站做网页
  • 企业网站建设个人博客做试卷挣钱的网站
  • 做调查的网站‘给客户做网站建设方案