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

郴州网站建设专业现状报告安卓优化大师hd

郴州网站建设专业现状报告,安卓优化大师hd,上饶哪里做网站,中国建筑集团有限公司官网校园招聘目录 1.题目描述 2.题解 分析 具体实现 方法一(遍历): 方法二(排序): 方法三(二分查找): 1.题目描述 有一个长度为 n 的非降序数组,比如[1,2,3,4,5]&a…

目录

1.题目描述

2.题解

分析

具体实现

方法一(遍历):

方法二(排序):

方法三(二分查找):


1.题目描述

有一个长度为 n 的非降序数组,比如[1,2,3,4,5],将它进行旋转,即把一个数组最开始的若干个元素搬到数组的末尾,变成一个旋转数组,比如变成了[3,4,5,1,2],或者[4,5,1,2,3]这样的。请问,给定这样一个旋转数组,求数组中的最小值。

示例

输入:[3, 4, 5, 1, 2]

返回值:1

2.题解

分析

题目中的数组为

 题目要求我们找出其中的最小值

具体实现

方法一(遍历):

寻找数组中的最小值,遍历数组即可找到最小值

public class Solution {public int minNumberInRotateArray(int[] nums) {if(nums.length == 0){return -1;}int min = nums[0];for (int i = 1; i < nums.length; i++) {if (min > nums[i]) {min = nums[i];}}return min;}
}

 

方法二(排序):

使用Arrays.sort方法对数组进行降序排序,则nums[0]即为数组的最小值

import java.util.Arrays;public class Solution {public int minNumberInRotateArray (int[] nums) {if(nums.length == 0){return -1;}Arrays.sort(nums);return nums[0];}
}

方法三(二分查找):

数组原本是一个升序数组,旋转之后,数组被分成两部分,前、后半部分分别为升序,后半部分小于前半部分,我们可以利用二分查找的思想,找到其旋转点,即可找到数组的最小值

首先找到数组首尾两端元素,并求出数组中间的下标

再将数组中间值与数组首尾两端元素进行比较,

nums[mid] > nums[right],则left = mid + 1

 

 若nums[mid] < nums[right],则right = mid

nums[mid] = nums[right], 则将right向左移动一位,即right--

 然后进入下一次循环,循环的条件为left < right

通过不断缩小范围,最终能够找到数组的最小值

完整代码

public class Solution {public int minNumberInRotateArray(int[] nums) {if(nums.length == 0){return -1;}int left = 0;int right = nums.length - 1;while(left < right){//找到数组的中点int mid = (left + right) / 2;if(nums[mid] > nums[right]){//旋转点在[mid+1, j]中,跳过mid+1左边元素left = mid + 1;} else if(nums[mid] < nums[right]){//旋转点在[left, mid]中,跳过mid右边元素right = mid;}else{//缩小right继续查找right--;}}//返回旋转点return nums[left];}
}

 :题目出自牛客网,链接如下

旋转数组的最小数字_牛客题霸_牛客网 (nowcoder.com)

http://www.hrbkazy.com/news/30609.html

相关文章:

  • 个人空间网站建设报告培训机构网站
  • 怎么做网站建设百度视频推广怎么收费
  • 做新闻网站用什么程序今日头条网页版入口
  • 旅游网站开发功能十大基本营销方式
  • wordpress frontopen2seo官网优化怎么做
  • 网站建设培训 上海郴州seo快速排名
  • 做网站被骗怎么办360收录批量查询
  • 大连做公司网站的公司新闻源软文推广平台
  • 有关网站开发的文献seo的主要工作是什么
  • 北京科技公司排名seo整站优化吧
  • 科技创新绘画作品图片seo内容优化
  • c 做网站怎么插入id威海seo
  • web怎样插入自己做的网站百度seo快速提升排名
  • 本科自考和成考的区别兰州seo整站优化服务商
  • 广东省建设工程规范文件网站西安建站推广
  • 顺德营销网站设计国外服务器免费ip地址
  • 自行建造网站深圳做网站公司哪家好
  • 搭建一个网站大概需要多少钱如何写软文赚钱
  • 网站开发的教学网站西安网站seo技术
  • 怎么做网站跳转网站设计报价方案
  • 做网站 指导全国网站排名
  • 手机网站有免费做的吗baidu百度一下
  • 建设b2b平台seo推广骗局
  • 漳州网站开发去博大钱少a四川网站制作
  • 优秀的网站设计seo查询5118
  • 怎么看一个网站是由哪个公司做的深圳网络推广收费标准
  • 网站关键词几个合适安徽网站优化
  • wordpress情侣博客seo模拟点击算法
  • 免费可商用素材网站百度榜
  • easyui 做的网站优化网站排名方法