581. 最短无序连续子数组** - easy
方法一:sort
用tmp存储nums,然后sort tmp,找到排序后的tmp和nums第一个不同的元素,以及最后一个不同的元素就是边界
//12.50
//13.03
class Solution {
public:
int findUnsortedSubarray(vector<int>& nums) {
if(nums.size() <= 1) return 0;
vector<int> tmp = nums;
sort(nums.begin(), nums.end());
int start, end;
start = end = 0;
for(int i = 0; i < nums.size(); i++) {
if(tmp[i] != nums[i]) {
start = i;
break;
}
}
for(int k = nums.size()-1; k > 0 && k > start; k--) {
if(tmp[k] != nums[k]) {
end = k;
break;
}
}
if(end-start) return end-start+1;