恢复旋转数组排序:
[4,5,1,2,3] - > [1,2,3,4,5]
void recoverRotatedSortedArray(vector<int> &nums)
{ // write your code here // 4 5 1 2 3 -> 5 4 1 2 3 -> 5 4 3 2 1 ->1 2 3 4 5
int sz = nums.size();
if(sz == 0 || sz == 1)
return;
int i = 0;
int j = 1;
int k = 0;
for(j = 1; j < sz; j++)
{
if(nums[j] < nums[j-1])//找到最小值
{
//旋转前面的
reverse(nums.begin(), nums.begin() + j);
//旋转后面的
reverse(nums.begin() + j, nums.end());
//整体旋转 reverse(nums.begin(), nums.end());
//reverse是标准函数,原地旋转vector的值
break;
}
}
}