更精确的思维

来源:互联网 发布:服务器定时开关机软件 编辑:程序博客网 时间:2024/05/29 14:44
写一个移位算法,要求时间复杂度和空间复杂度尽可能节省代码如下:
#include
using namespace std;
const int maxn  = 10000+5;
char a[maxn];
void reverse(int R[], int left, int right)
{
    int k = left, j = right,temp;
    while(k
    {
       temp = R[k];
       R[k] = R[j];
       R[j] = temp;
       k++;
       j--;
    }
}
void leftshift(int R[], int n,int p)
{
    if(p>0 &&p
    {
       reverse(R,0,n-1);
       reverse(R,0,n-p-1);
       reverse(R,n-p,n-1);
    }
}
int main()
{
    int i = 0;
    while(c>>n)
    {
       a[i] = n;
       i++;
    }
   leftshift(a,i+1,10);
    for(int j = 0; j < i;j++)
       cout<<a[j];
}
思维模式并不复杂,只是想说很多好的idea其实在、是在一些基础内涵之上的像对调,快排,插入这些思维方式有很多的借鉴意义!!
0 0
原创粉丝点击