1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| class Solution { public: int findUnsortedSubarray(vector<int>& nums) { vector<int> cpy(nums.begin(), nums.end()); sort(cpy.begin(), cpy.end()); int len = nums.size(); int j = len - 1, i = 0; for ( ; j >= 0; j--) { if (nums[j] != cpy[j]) { break; } } for (; i < len; i++) { if (nums[i] != cpy[i]) { break; } } int ans = j - i + 1; return ans > 0 ? ans : 0; } };
|