commit
07dcd591c7
@ -0,0 +1,32 @@
|
||||
package 数组操作.q581_最短无序连续子数组;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* 利用排序 o(n*log(n))
|
||||
*/
|
||||
public class Solution {
|
||||
|
||||
public int findUnsortedSubarray(int[] nums) {
|
||||
if (nums == null || nums.length < 1) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int[] cloneNums = nums.clone();
|
||||
Arrays.sort(nums);
|
||||
|
||||
int begin = Integer.MAX_VALUE;
|
||||
int end = 0;
|
||||
for (int i = 0; i < nums.length; i++) {
|
||||
if (nums[i] != cloneNums[i]) {
|
||||
begin = Math.min(begin, i);
|
||||
end = Math.max(end, i);
|
||||
}
|
||||
}
|
||||
return Math.max(end - begin + 1, 0);
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
new Solution().findUnsortedSubarray(new int[]{2, 6, 4, 8, 10, 9, 15});
|
||||
}
|
||||
}
|
Loading…
Reference in new issue