以后 你们可以叫我 袁大婶 没错 就是这么猛.
------下面附上 我的代码
/*给一个长度为n的DNA环状串,请你输出字典序最小的 那个 序列*//*你怎么想? 不开字符串 尽量减少时间空间复杂度 打败 刘大婶*//* 用两个标记变量 一个字母 然后比较 大小 比较小的 那一个储存下来 然后让比较大的那一个 ++ 开始对下一个进行遍历 但是时间复杂度应该比较高 能达到n^2 *//*CCCC*/#include#include int main(){ int q1,q,l,t,e,i,j,m,n; char a[200]; scanf("%d",&t); while(t--) { scanf("%s",a); //输入 DNA串 l=strlen(a); m=l; q=0; q1=1; m--; while(m--) { for(e=0,i=q,j=q1;e =l||j>=l)//很关键的一个东西,用于实现圆环 { i=i%l; j=j%l; } if(a[i]>a[j]) //一直都让 q 为字典序最小的首字母的开头. { q=q1; q1++; break; } if(a[i]
下面附上 刘大婶的
代码并且 还有值得学习之处#include#include #define maxn 105int less(char *s,int p,int q) //{ int n=strlen(s); //测量 实际数组的长度. for(int i=0;i