最小表示法

梦想与她 提交于 2020-01-20 22:36:28

对于最小表示法,本蒟蒻感觉永远不会考。。。

那就直接上优化版的最小表示法了

 1 int F=0,S=1,Key;
 2 while(F<Len &&S<Len) {
 3     for(Key=0;Key<Len;Key++) {
 4         if(Num[(F+Key)%Len]!=Num[(S+Key)%Len]) break;
 5      ` if(Key>=Len) Jud=false,break; 
 6         if(Num[(F+Key)%Len>Num[(S+Key)%Len]) F+=(Key+1);
 7         else F=S+1;
 8         if(Num[(S+Key)%Len]>Num[(F+Key)%Len) //同理
 9 }
10 printf("%d",&F<S ? F : S);
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!