import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param nums int整型一维数组
* @return int整型
*/
public int findUnsortedSubarray (int[] nums) {
// 复制 排序
int[] newNums = Arrays.copyOf(nums, nums.length);
Arrays.sort(newNums);
boolean exist = true;
for (int i = 0; i < nums.length; i++) {
if (newNums[i] != nums[i]) {
exist = false;
break;
}
}
// 完全一直,无需排序
if (exist) {
return 0;
}
int left = 0;
int right = 0;
// 不一致 逐个判断,开始不一致的序号
for (int i = 0; i < nums.length; i++) {
if (newNums[i] != nums[i]) {
left = i;
break;
}
}
// 结尾第一个不一致的序号
for (int i = nums.length-1; i >=0; i--) {
if (newNums[i] != nums[i]) {
right = i;
break;
}
}
return right - left + 1;
}
}