import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型一维数组 * @return int整型 */ public int findUnsortedSubarray (int[] nums) { int left = -1; int right = -1; for(int i = 0;i < nums.length - 1;i++){ if(nums[i] > nums[i + 1]){ left = i; break; } } for(int i = nums.length - 1;i >= 1;i--){ if(nums[i] < nums[i - 1]){ right = i; break; } } if(left == -1 || right == -1){ return 0; } int res_left = -1; int res_right = -1; for(int i = 0;i < nums.length - 1;i++){ if(nums[i] > nums[right]){ res_left = i; break; } } for(int i = nums.length - 1;i >= 1;i--){ if(nums[i] < nums[left]){ res_right = i; break; } } return Math.max(res_right - res_left + 1,right - left + 1); } }
说实话这代码为啥能过我自己都看不懂,有没有老哥讲一下