当前位置: 代码迷 >> 综合 >> 分治左移(c++)
  详细解决方案

分治左移(c++)

热度:81   发布时间:2023-09-05 17:42:42.0

设计分治算法,实现将数组A[n]中所有元素循环左移k个位置,要求时间复杂度为O(n),空间复杂度为O(1)。

Input

多组样例输入输出,每组样例一行
输入一个字符数组 A(只包含小写字母,长度小于10000),左移的位数 k(0≤k≤10000)

Output

左移后的字符串

Sample Input

abcdefgh 3
abcd 2

Sample Output

defghabc
cdab

 

AC代码:

#include<bits/stdc++.h>
using namespace std;
int main(){string s;int k;while(cin>>s>>k){int len=(int)s.size();for(int i=k;i<len;i++){cout<<s[i];}for(int i=0;i<k;i++){cout<<s[i];}cout<<endl;}return 0;
} 

非常简单,直接输出。

  相关解决方案