字符串由大写字母A、B、C、D组成,个数和顺序不定,默认大小是字典序,计算字符串中逆序数。 样例:DBBAC 其中,D的逆序数是4 B的逆序数是1 B的逆序数是1 A的逆序数是0 C的逆序数是0 所以该字符串的逆序数是6,要求时间复杂度是O(n)
public static int fun(String
str){
int numA=
0;
int numB=
0;
int numC=
0;
int numD=
0;
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;
}
转载请注明原文地址: https://ju.6miu.com/read-3380.html