面試題 16 16 部分排序

2022-09-19 09:18:10 字數 551 閱讀 5319

給定乙個整數陣列,編寫乙個函式,找出索引m和n,只要將索引區間[m,n]的元素排好序,整個陣列就是有序的。注意:n-m盡量最小,也就是說,找出符合條件的最短序列。函式返回值為[m,n],若不存在這樣的m和n(例如整個陣列是有序的),請返回[-1,-1]。

class solution ;

}int left = 0, leftmax = array[0];

for (int i = 1; i < array.length; ++i)

leftmax = math.max(leftmax, array[i]);

}int right = array.length - 1, rightmin = array[array.length - 1];

for (int i = array.length - 2; i >= 0; --i)

rightmin = math.min(rightmin, array[i]);

}return left <= right ? new int : new int;

}}

演算法 面試題 16 16 部分排序

給定乙個整數陣列,編寫乙個函式,找出索引m和n,只要將索引區間 m,n 的元素排好序,整個陣列就是有序的。注意 n m盡量最小,也就是說,找出符合條件的最短序列。函式返回值為 m,n 若不存在這樣的m和n 例如整個陣列是有序的 請返回 1,1 示例 0 len array 1000000 解法 如果...

陣列 面試題 16 16 部分排序

題目 解答 預設公升序 降序也只是改一點 不影響 原理 如果左側最大值大於中間的最小值,則一定會被中間序列包括 同理,如果右側最小值大於中間的最大值,則一定會被中間序列包括。一遍遍歷 兩個指標 兩次掃瞄可一次遍歷完成 1 從前向後掃瞄陣列,判斷當前array i 是否比max小,是則將last置為當...

部分面試題

1.請程式設計遍歷頁面上所有textbox控制項並給它賦值為string.empty?答 foreach system.windows.forms.control control in this.controls 2.請程式設計實現乙個氣泡排序演算法?答 int array new int int ...