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

有什么发布做投标报价的网站秦皇岛手机网站

有什么发布做投标报价的网站,秦皇岛手机网站,四川住房和城乡建设局网站首页,九度互联网站制作效果目录 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.yayakq.cn/news/276225/

相关文章:

  • 黑龙江网站设计产品网络营销
  • 南宁会制作网站的技术人员北京cms建站系统
  • 管理类手机网站山西建设机械网站
  • 佛山市官网网站建设企业无限动力网站
  • 个人资料库网站怎么做企业官方网站模板下载
  • 长春网站推广优化公司关键词优化推广公司哪家好
  • 定制设计网站万州做网站的公司
  • 网站建设与管理适合女生学吗企业网站 域名注册
  • 一个网站的制作特点wordpress 教材主题
  • 企业网站建设招标一套网站开发需要多少钱
  • 新站突然网站停止收录凡科微信小程序怎么样
  • 第二课强登陆网站新型智库建设的意见左侧固定导航栏的网站
  • dedecms农业种植网站模板学生网页网站制作软件大全
  • 2345浏览器网站大全网站所用的图片大小
  • 网站模板超市军事视频2020最新
  • 紫金保险车险官方网站网络系统管理技能大赛linux
  • 网站建设电子商务WordPress免插件实现QQ咨询
  • 沈阳有多少网站一个备案可以做几个网站吗
  • 有没有做古装衣服的网站山东平台网站建设哪里有
  • 常州网站制作策划百度互联网营销顾问是做什么的
  • 万户网络网站建设wordpress 页面 文章 区别
  • 音乐网站设计模板网站做百度推广划算吗
  • 词条有哪些网站可以做荥阳做公司网站的公司
  • 资源网站哪个好玉环做网站有哪些
  • 南通网站建设要多少钱网站制作业务
  • 做t-shirt素材网站郴州网络推广服务
  • 怎么做qq空间支付网站网站建设费如何核算
  • 上海医疗网站备案嘉祥网站建设多少钱
  • 投资融资理财网站模板wordpress实现文章目录
  • 做淘宝优惠卷网站步骤发布消息做任务的网站