程序员面试金典 - 面试题 16.16. 部分排序(排序/不排序)
生活随笔
收集整理的這篇文章主要介紹了
程序员面试金典 - 面试题 16.16. 部分排序(排序/不排序)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
文章目錄
- 1. 題目
- 2. 解題
- 2.1 排序
- 2.2 不排序
1. 題目
給定一個整數(shù)數(shù)組,編寫一個函數(shù),找出索引 m 和 n ,只要將索引區(qū)間 [m,n] 的元素排好序,整個數(shù)組就是有序的。
注意:n-m 盡量最小,也就是說,找出符合條件的最短序列。
函數(shù)返回值為[m,n],若不存在這樣的m和n(例如整個數(shù)組是有序的),請返回[-1,-1]。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/sub-sort-lcci
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
2. 解題
2.1 排序
- 復(fù)制一份原數(shù)組,對復(fù)制數(shù)組排序
- 將兩個數(shù)組對比,看不同的部分是什么區(qū)間即可
472 ms 40.4 MB
2.2 不排序
- 從左往右遍歷,左邊最大MAX > 當前數(shù),這里肯定需要排序,實時更新MAX,找到需要排序的右端點
- 從右往左遍歷,當前數(shù) > 右邊最小MIN,肯定需要排序,實時更新MIN,往左找到左端點
156 ms 39.1 MB
總結(jié)
以上是生活随笔為你收集整理的程序员面试金典 - 面试题 16.16. 部分排序(排序/不排序)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 1406. 石子游戏
- 下一篇: LeetCode 162. 寻找峰值(二