zoukankan      html  css  js  c++  java
  • 计算字符串逆序数

    字符串由大写字母A、B、C、D组成,个数和顺序不定,默认大小是字典序,计算字符串中逆序数。 
    样例:DBBAC 
    其中,D的逆序数是4 
    B的逆序数是1 
    B的逆序数是1 
    A的逆序数是0 
    C的逆序数是0 
    所以该字符串的逆序数是6,要求时间复杂度是O(n)

    int  fun(String str){
            int numA=0;//A的数量
            int numB=0;//B的数量
            int numC=0;//C的数量
            int numD=0;//D的数量
            int count=0;//总计逆序数
            for(int i=0;i<str.length();i++){
                char ch=str.charAt(str.length()-i-1);
                if(ch=='A')
                    numA++;
                if(ch=='B'){
                    count=count+numA;
                    numB++;
                }
                if(ch=='C'){
                    count=count+numB+numA;
                    numC++;
                }
                if(ch=='D'){
                    count=count+numA+numB+numC;
                    numD++;
                }
            }
            return count;
        }
  • 相关阅读:
    java_JDBC(3)
    java_JDBC(2)
    java_JDBC(1)
    seq语句随笔
    bzoj3159: 决战
    bzoj3905: Square
    bzoj3864: Hero meet devil
    有上下界的网络流问题
    uva12538
    bzoj3280: 小R的烦恼
  • 原文地址:https://www.cnblogs.com/laiqun/p/6669784.html
Copyright © 2011-2022 走看看