最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java旋轉(zhuǎn)數(shù)組中最小數(shù)字具體實現(xiàn)(圖文詳解版)

 更新時間:2023年08月15日 08:39:23   作者:楠枬  
這篇文章主要給大家介紹了關(guān)于Java旋轉(zhuǎn)數(shù)組中最小數(shù)字具體實現(xiàn)的相關(guān)資料,旋轉(zhuǎn)數(shù)組,說明數(shù)據(jù)不變,只是改變位置,文中通過代碼示例介紹的非常詳細(xì),需要的朋友可以參考下

1.題目描述

有一個長度為 n 的非降序數(shù)組,比如[1,2,3,4,5],將它進行旋轉(zhuǎn),即把一個數(shù)組最開始的若干個元素搬到數(shù)組的末尾,變成一個旋轉(zhuǎn)數(shù)組,比如變成了[3,4,5,1,2],或者[4,5,1,2,3]這樣的。請問,給定這樣一個旋轉(zhuǎn)數(shù)組,求數(shù)組中的最小值。

示例

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

返回值:1

2.題解

分析

題目中的數(shù)組為

題目要求我們找出其中的最小值

具體實現(xiàn)

方法一(遍歷):

尋找數(shù)組中的最小值,遍歷數(shù)組即可找到最小值

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方法對數(shù)組進行降序排序,則nums[0]即為數(shù)組的最小值

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

方法三(二分查找):

數(shù)組原本是一個升序數(shù)組,旋轉(zhuǎn)之后,數(shù)組被分成兩部分,前、后半部分分別為升序,后半部分小于前半部分,我們可以利用二分查找的思想,找到其旋轉(zhuǎn)點,即可找到數(shù)組的最小值

首先找到數(shù)組首尾兩端元素,并求出數(shù)組中間的下標(biāo)

再將數(shù)組中間值與數(shù)組首尾兩端元素進行比較,

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

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

nums[mid] = nums[right], 則將right向左移動一位,即right--

 然后進入下一次循環(huán),循環(huán)的條件為left < right

通過不斷縮小范圍,最終能夠找到數(shù)組的最小值

完整代碼

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){
            //找到數(shù)組的中點
            int mid = (left + right) / 2;
            if(nums[mid] > nums[right]){
                //旋轉(zhuǎn)點在[mid+1, j]中,跳過mid+1左邊元素
                left = mid + 1;
            } else if(nums[mid] < nums[right]){
                //旋轉(zhuǎn)點在[left, mid]中,跳過mid右邊元素
                right = mid;
            }else{
                //縮小right繼續(xù)查找
                right--;
            }
        }
        //返回旋轉(zhuǎn)點
        return nums[left];
    }
}

 :題目出自??途W(wǎng),鏈接如下

旋轉(zhuǎn)數(shù)組的最小數(shù)字_??皖}霸_??途W(wǎng) (nowcoder.com)

總結(jié)

到此這篇關(guān)于Java旋轉(zhuǎn)數(shù)組中最小數(shù)字具體實現(xiàn))的文章就介紹到這了,更多相關(guān)Java旋轉(zhuǎn)數(shù)組最小數(shù)字內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • idea前后跳轉(zhuǎn)箭頭的快捷鍵

    idea前后跳轉(zhuǎn)箭頭的快捷鍵

    這篇文章主要介紹了idea前后跳轉(zhuǎn)箭頭的快捷鍵,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • Java 獲取兩個List的交集和差集,以及應(yīng)用場景操作

    Java 獲取兩個List的交集和差集,以及應(yīng)用場景操作

    這篇文章主要介紹了Java 獲取兩個List的交集和差集,以及應(yīng)用場景操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • 使用多種方式實現(xiàn)遍歷HashMap的方法

    使用多種方式實現(xiàn)遍歷HashMap的方法

    下面小編就為大家?guī)硪黄褂枚喾N方式實現(xiàn)遍歷HashMap的方法。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-05-05
  • 基于Java制作一個燈謎猜猜樂游戲

    基于Java制作一個燈謎猜猜樂游戲

    中秋佳節(jié),是我國傳統(tǒng)的重大節(jié)日之一,全國各地為了增強過節(jié)的氣氛,都有許多傳統(tǒng)的中秋活動,比如猜燈謎,所以本文就來用Java制作一個燈謎猜猜樂游戲,感興趣的可以了解下
    2023-09-09
  • 詳解Java生成PDF文檔方法

    詳解Java生成PDF文檔方法

    這篇文章主要介紹了Java生成PDF文檔方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Spring Cloud EureKa Ribbon 服務(wù)注冊發(fā)現(xiàn)與調(diào)用

    Spring Cloud EureKa Ribbon 服務(wù)注冊發(fā)現(xiàn)與調(diào)用

    這篇文章主要介紹了Spring Cloud EureKa Ribbon 服務(wù)注冊發(fā)現(xiàn)與調(diào)用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02
  • SpringBoot校驗前端傳遞的參數(shù)的流程步驟

    SpringBoot校驗前端傳遞的參數(shù)的流程步驟

    在日常項目開發(fā)中,我們都知道參數(shù)驗證是必不可少的一環(huán),但是有時候為了偷懶,把參數(shù)校驗交給前端開發(fā)人員去處理,這樣很容易影響系統(tǒng)穩(wěn)定性和安全性,所以本文給大家介紹了SpringBoot校驗前端傳遞的參數(shù)的流程步驟,需要的朋友可以參考下
    2025-10-10
  • 使用java實現(xiàn)手機短信驗證全過程

    使用java實現(xiàn)手機短信驗證全過程

    這篇文章主要介紹了使用java實現(xiàn)手機短信驗證全過程,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)java的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • Java 畫時鐘遇到的問題及解決方案

    Java 畫時鐘遇到的問題及解決方案

    我是一個剛?cè)腴T的小菜鳥,希望我寫的東西可以幫助和我一樣剛?cè)腴T的兄弟們少走一些彎路,也希望大佬們可以多指點指點我。感謝!解決在畫時鐘遇到的問題讓我花費不少時間...說兩個困擾我比較久的
    2021-11-11
  • spring cloud consul注冊的服務(wù)報錯critical的解決

    spring cloud consul注冊的服務(wù)報錯critical的解決

    這篇文章主要介紹了spring cloud consul注冊的服務(wù)報錯critical的解決,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-03-03

最新評論

江陵县| 德兴市| 柘城县| 渑池县| 朝阳县| 屏东市| 兰考县| 耿马| 广东省| 仙居县| 柞水县| 长岛县| 六枝特区| 铜梁县| 唐山市| 富阳市| 乐平市| 吴川市| 禹城市| 东方市| 信宜市| 和静县| 腾冲县| 深水埗区| 抚顺县| 安康市| 平安县| 电白县| 休宁县| 邯郸市| 晋宁县| 舟山市| 区。| 南部县| 瓦房店市| 连南| 璧山县| 尚志市| 岳阳市| 长阳| 容城县|