int min_pos(string str){
int len=str.size();
int i=0,j=1,k=0;while(i<len && j<len && k<len){
int t=str[(i+k)%len]-str[(j+k)%len];if(!t) k++;else{if(t>0) i+=k+1;else j+=k+1;if(i==j) j++;
k=0;}}returnmin(i,j);}
Maximum Minimum mix
int min_max_pos(int flag){
int i=0,j=1,k=0;int len=strlen(str);//flag==1 代表取小,flag==0 代表取大while(i<len && j<len && k<len){
int t=str[(i+k)%len]-str[(j+k)%len];if(!t) k++;else{if(flag){if(t>0) i+=k+1;else j+=k+1;}else{if(t>0) j+=k+1;else i+=k+1;}if(i==j) j++;
k=0;}}returnmin(i,j);}