给定一个字符串,把它首尾相连形成字符环,然后从某个点开始的字符串字典序最小,为该字符串的最小表示
最小最大的区别就是在第9行的>和<符号
最小
int mininum(char sec[]) { int n=strlen(sec); int k=0,i=0,j=1; while(k<n&&i<n&&j<n) { if(sec[(i+k)%n]==sec[(j+k)%n]) { k++; } else { sec[(i + k) % n] > sec[(j + k) % n] ? i = i + k + 1 : j = j + k + 1; if (i == j) j++; k = 0; } } i=min(i,j); return i; }
最大
int mininum(char sec[]) { int n=strlen(sec); int k=0,i=0,j=1; while(k<n&&i<n&&j<n) { if(sec[(i+k)%n]==sec[(j+k)%n]) { k++; } else { sec[(i + k) % n] <sec[(j + k) % n] ? i = i + k + 1 : j = j + k + 1; if (i == j) j++; k = 0; } } i=min(i,j); return i; }