当前位置: 首页 > 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/428670/

相关文章:

  • 天津网站建设企业系统云主机网站模板
  • 千灯做网站广东营销网站建设服务
  • 一个网站是如何知道是谁来访问seo资料站
  • 不关闭网站 备案中国互联网协会成立于多少年
  • 网站建设需要机房服务器国内网站有哪些
  • 淘宝网淘我喜欢西安关键词优化软件
  • 江门做网站多少钱专业网站设计是什么
  • 建筑公司网站平台靖江seo收费贵吗
  • 中原区网站建设公司申请网站备案
  • 商业网站建设目标沈阳建站模板展示
  • 懂做网站的人就是好网站软件大全免费下
  • flash网站开发抖音seo搜索优化
  • 做网站网站的代理算网站罪吗网站建设哪里好 厦门
  • 外贸管理网站模板wordpress网页手机自适应
  • 怎么做网站监控平台展馆
  • 企业网站的常见服务是什么seo博客网站怎么做
  • 网站模块规划响应式网站好处
  • 哈尔滨网站建设 seowordpress 文章设置
  • 玉溪网站开发公司如何上传自己的做的网站
  • 个人站长网站应该如何定位云南省住房和城乡建设厅官方网站
  • 帮别人做网站如何备案wordpress 爱情模板下载
  • 学做网站要会哪些网页设计作业 介绍家乡
  • 17.zwd一起做网站池尾站可以做空股票的网站
  • 网站建设南京公司网站建设织梦网站漏洞修复
  • 网站建设项目的预表自己如何做链接推广
  • wordpress会员分销一个网站多个子域名优化
  • 网站建设加优化wordpress 响应式插件
  • 中国开发网站的公司微信公众号商城开发费用
  • 河北信息门户网站定制中国科协网站建设招标
  • 品牌红酒网站建设如何用front做网站网页