国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

網(wǎng)站開(kāi)源模板百度指數(shù)排名明星

網(wǎng)站開(kāi)源模板,百度指數(shù)排名明星,東城響應(yīng)式網(wǎng)站建設(shè),免費(fèi)網(wǎng)站空間怎么一、題目描述 給你一個(gè)整數(shù)數(shù)組 nums ,你需要找出一個(gè) 連續(xù)子數(shù)組 ,如果對(duì)這個(gè)子數(shù)組進(jìn)行升序排序,那么整個(gè)數(shù)組都會(huì)變?yōu)樯蚺判颉? 請(qǐng)你找出符合題意的 最短 子數(shù)組,并輸出它的長(zhǎng)度。 示例 1: 輸入:num…

一、題目描述

給你一個(gè)整數(shù)數(shù)組?nums?,你需要找出一個(gè)?連續(xù)子數(shù)組?,如果對(duì)這個(gè)子數(shù)組進(jìn)行升序排序,那么整個(gè)數(shù)組都會(huì)變?yōu)樯蚺判颉?/p>

請(qǐng)你找出符合題意的?最短?子數(shù)組,并輸出它的長(zhǎng)度。

示例 1:

輸入:nums = [2,6,4,8,10,9,15]
輸出:5
解釋:你只需要對(duì) [6, 4, 8, 10, 9] 進(jìn)行升序排序,那么整個(gè)表都會(huì)變?yōu)樯蚺判颉?

示例 2:

輸入:nums = [1,2,3,4]
輸出:0

示例 3:

輸入:nums = [1]
輸出:0

提示:

  • 1 <= nums.length <= 10^4
  • -10^5 <= nums[i] <= 10^5

二、解題思路

  1. 首先復(fù)制原數(shù)組,并對(duì)復(fù)制后的數(shù)組進(jìn)行排序。
  2. 然后分別從數(shù)組的兩端開(kāi)始比較原數(shù)組與排序后的數(shù)組。
  3. 找到第一個(gè)不同的元素位置,即為需要排序的子數(shù)組的起始位置。
  4. 找到最后一個(gè)不同的元素位置,即為需要排序的子數(shù)組的結(jié)束位置。
  5. 計(jì)算這兩個(gè)位置之間的距離,即為需要排序的最短子數(shù)組的長(zhǎng)度。

三、具體代碼

import java.util.Arrays;class Solution {public int findUnsortedSubarray(int[] nums) {// 復(fù)制原數(shù)組并進(jìn)行排序int[] sortedNums = nums.clone();Arrays.sort(sortedNums);// 初始化子數(shù)組的起始和結(jié)束位置int start = 0, end = nums.length - 1;// 從兩端開(kāi)始比較原數(shù)組與排序后的數(shù)組while (start < nums.length && nums[start] == sortedNums[start]) {start++;}while (end > start && nums[end] == sortedNums[end]) {end--;}// 計(jì)算需要排序的子數(shù)組的長(zhǎng)度return end - start + 1;}
}

這段代碼首先復(fù)制了原數(shù)組并進(jìn)行排序,然后從數(shù)組的兩端開(kāi)始比較,直到找到第一個(gè)和最后一個(gè)不同的元素,最后計(jì)算這兩個(gè)位置之間的距離,即為需要排序的最短子數(shù)組的長(zhǎng)度。如果整個(gè)數(shù)組已經(jīng)是有序的,那么返回的長(zhǎng)度將是0。

四、時(shí)間復(fù)雜度和空間復(fù)雜度

1. 時(shí)間復(fù)雜度
  • 復(fù)制原數(shù)組:這個(gè)操作的時(shí)間復(fù)雜度是 O(n),其中 n 是數(shù)組的長(zhǎng)度。
  • 對(duì)數(shù)組進(jìn)行排序:使用的是?Arrays.sort()?方法,該方法在大多數(shù)情況下使用的是雙軸快速排序,其平均時(shí)間復(fù)雜度是 O(n log n)。
  • 比較原數(shù)組與排序后的數(shù)組:最壞情況下需要遍歷整個(gè)數(shù)組,因此時(shí)間復(fù)雜度是 O(n)。

綜上所述,總的時(shí)間復(fù)雜度是 O(n) + O(n log n) + O(n),簡(jiǎn)化后是 O(n log n),因?yàn)榕判虿僮魍ǔJ亲畲蟮臅r(shí)間開(kāi)銷(xiāo)。

2. 空間復(fù)雜度
  • 復(fù)制原數(shù)組:這個(gè)操作的空間復(fù)雜度是 O(n),因?yàn)樾枰~外的空間來(lái)存儲(chǔ)一個(gè)與原數(shù)組大小相同的數(shù)組。

因此,總的空間復(fù)雜度是 O(n)。

五、總結(jié)知識(shí)點(diǎn)

  • 數(shù)組操作:

    • 使用?clone()?方法來(lái)復(fù)制一個(gè)數(shù)組。這是一個(gè)淺拷貝,適用于基本數(shù)據(jù)類(lèi)型。
    • 使用?Arrays.sort()?方法對(duì)數(shù)組進(jìn)行排序。這個(gè)方法內(nèi)部使用的是雙軸快速排序算法。
  • 循環(huán)結(jié)構(gòu):

    • 使用?while?循環(huán)來(lái)遍歷數(shù)組元素,以找到需要排序的子數(shù)組的起始和結(jié)束位置。
  • 數(shù)組索引與邊界條件:

    • 使用數(shù)組索引來(lái)訪問(wèn)數(shù)組元素。
    • 使用邊界條件來(lái)防止數(shù)組越界。例如,start < nums.length?和?end > start。
  • 邏輯判斷:

    • 使用?==?運(yùn)算符來(lái)比較數(shù)組元素是否相等。
    • 使用?&&?運(yùn)算符來(lái)進(jìn)行邏輯與運(yùn)算,確保在滿足特定條件時(shí)才執(zhí)行循環(huán)體中的代碼。
  • 算法邏輯:

    • 通過(guò)比較原數(shù)組與排序后的數(shù)組,確定需要排序的子數(shù)組的邊界。
    • 計(jì)算子數(shù)組長(zhǎng)度的邏輯:end - start + 1
  • 方法定義與返回值:

    • 定義了一個(gè)?findUnsortedSubarray?方法,它接受一個(gè)整數(shù)數(shù)組作為參數(shù),并返回一個(gè)整數(shù),表示需要排序的子數(shù)組的長(zhǎng)度。
  • Java基礎(chǔ)語(yǔ)法:

    • 類(lèi)定義(class?關(guān)鍵字)。
    • 方法定義(public?訪問(wèn)修飾符,返回類(lèi)型,方法名,參數(shù)列表)。
    • 變量聲明與初始化(int start = 0, end = nums.length - 1;)。

以上就是解決這個(gè)問(wèn)題的詳細(xì)步驟,希望能夠?yàn)楦魑惶峁﹩l(fā)和幫助。

http://m.aloenet.com.cn/news/33449.html

相關(guān)文章:

  • app平臺(tái)網(wǎng)站搭建潮州seo建站
  • 雙語(yǔ)網(wǎng)站建設(shè)報(bào)價(jià)百度鏈接提交收錄入口
  • dw網(wǎng)頁(yè)設(shè)計(jì)期末作業(yè)seo的主要分析工具
  • 公司網(wǎng)站設(shè)計(jì)方案網(wǎng)站查詢是否安全
  • 天津做網(wǎng)站哪個(gè)公司好seo排名優(yōu)化工具推薦
  • 做游戲開(kāi)發(fā)需要學(xué)哪些技術(shù)優(yōu)化大師下載安裝app
  • 網(wǎng)站建設(shè) 長(zhǎng)沙百度推廣怎么提高關(guān)鍵詞排名
  • 勝芳網(wǎng)站建設(shè)qiansi全國(guó)疫情最新情況公布
  • 前端怎么做電商網(wǎng)站網(wǎng)絡(luò)營(yíng)銷(xiāo)和網(wǎng)絡(luò)銷(xiāo)售的關(guān)系
  • 做論壇網(wǎng)站需要哪些前置審批申請(qǐng)一個(gè)網(wǎng)站需要多少錢(qián)
  • 網(wǎng)站域名備案需要資料網(wǎng)站內(nèi)鏈優(yōu)化
  • 專(zhuān)業(yè)的營(yíng)銷(xiāo)型網(wǎng)站最新報(bào)價(jià)網(wǎng)絡(luò)推廣策劃
  • 怎么給網(wǎng)站做aapseo優(yōu)化專(zhuān)家
  • 廈網(wǎng)站建設(shè)培訓(xùn)學(xué)校創(chuàng)建網(wǎng)站要錢(qián)嗎
  • 做外貿(mào)網(wǎng)站需要什么卡西安網(wǎng)站快速排名提升
  • 外貿(mào)需要網(wǎng)站做生產(chǎn)車(chē)間展示友聯(lián)互換
  • 網(wǎng)站規(guī)劃與設(shè)計(jì)范文seo招聘網(wǎng)
  • 什么樣建網(wǎng)站百度的seo排名怎么刷
  • 建站之星怎么用國(guó)外網(wǎng)站搭建
  • 網(wǎng)站 css江門(mén)百度seo公司
  • 東莞市建設(shè)網(wǎng)站首頁(yè)百度怎樣發(fā)布作品
  • app開(kāi)發(fā)及后期維護(hù)費(fèi)用重慶企業(yè)站seo
  • 陜西省建設(shè)廳網(wǎng)站三類(lèi)b證磁力蜘蛛
  • 怎么做網(wǎng)絡(luò)推廣營(yíng)銷(xiāo)seo專(zhuān)員的工作內(nèi)容
  • 商務(wù)網(wǎng)站建設(shè)實(shí)訓(xùn)報(bào)告網(wǎng)絡(luò)銷(xiāo)售面試問(wèn)題有哪些
  • 男人互做網(wǎng)站關(guān)鍵詞排名靠前
  • 金華建設(shè)學(xué)校繼續(xù)教育網(wǎng)站廣東培訓(xùn)seo
  • 企業(yè)模擬網(wǎng)站建設(shè)本地推廣平臺(tái)有哪些
  • 大型電子商務(wù)網(wǎng)站開(kāi)發(fā)架構(gòu)技能培訓(xùn)學(xué)校
  • python開(kāi)發(fā)手機(jī)網(wǎng)站開(kāi)發(fā)湖南網(wǎng)站營(yíng)銷(xiāo)推廣