16.16. 部分排序
生活随笔
收集整理的這篇文章主要介紹了
16.16. 部分排序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
class Solution {public int[] subSort(int[] nums) {if (nums.length == 0) return new int[] { -1, -1 };// 從左掃描到右尋找逆序對(正序:逐漸變大)int max = nums[0];// 用來記錄最右的那個逆序對位置int r = -1;for (int i = 1; i < nums.length; i++) {if (nums[i] >= max) {max = nums[i];} else {r = i;}}// 提前結束if (r == -1) return new int[] { -1, -1 };// 從右掃描到左尋找逆序對(正序:逐漸變小)int min = nums[nums.length - 1];// 用來記錄最左的那個逆序對位置int l = -1;for (int i = nums.length - 2; i >= 0; i--) {if (nums[i] <= min) {min = nums[i];} else {l = i;}}return new int[] { l, r };}
}
?
?
總結
以上是生活随笔為你收集整理的16.16. 部分排序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 5. 最长回文子串——基于扩展中心法的优
- 下一篇: 链表题的解题思路