首页 > 编程语言 > 详细

求字符数组逆序数(poj1007)

时间:2015-02-18 10:38:42      阅读:306      评论:0      收藏:0      [点我收藏+]

int InversionNumber(char* s,int len)  

  • {  
  •     int ans=0;  //s逆序数  
  •     int A,C,G;  //各个字母出现次数,T是最大的,无需计算T出现次数  
  •     A=C=G=0;  
  •     for(int i=len-1;i>=0;i--)  
  •     {  
  •         switch(s[i])  
  •         {  
  •             case ‘A‘:A++;break;  //A是最小的,无逆序数  
  •             case ‘C‘:  
  •                  {  
  •                      C++;  
  •                      ans+=A;  //当前C后面出现A的次数就是这个C的逆序数  
  •                      break;  
  •                  }  
  •             case ‘G‘:  
  •                 {  
  •                     G++;  
  •                     ans+=A;  
  •                     ans+=C;  
  •                     break;  
  •                 }  
  •             case ‘T‘:  
  •                 {  
  •                     ans+=A;  
  •                     ans+=C;  
  •                     ans+=G;  
  •                     break;  
  •                 }  
  •         }  
  •     }  
  •     return ans;  
  • }  

 

求字符数组逆序数(poj1007)

原文:http://www.cnblogs.com/earendil/p/4295650.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!