rotate array 旋转数组
class Solution {
public:
void rotate(vector<int>& nums, int k) {
int n=nums.size();
int i=0;
//-------------------
//解法一 ?會(huì)超時(shí)
//--------------------
k=k%n;
while(i<k){
int temp=nums[n-1];
for(int j=n-1;j>0;j--){
nums[j]=nums[j-1];
}
nums[0]=temp;
i++;
}
//-------------------
//解法二
//--------------------
?
vector<int> num1; ?新開一個(gè)數(shù)組,存放
k=k%n;
if(k==0) return;
while(i<k)
{
num1.push_back(nums[n-k+i]);
i++;
}
i=0;
while(i<n-k)
{
num1.push_back(nums[i]);
i++;
}
i=0;
while(i<n)
{
nums[i]=num1[i];
i++;
}
}
//-------------------
//解法三 ? 三次旋轉(zhuǎn);很巧妙
//--------------------?
?
};
轉(zhuǎn)載于:https://www.cnblogs.com/julie-yang/p/4650542.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的rotate array 旋转数组的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 15-07-10 结构体-输入学生成绩
- 下一篇: 控制台浏览器代码实战