Codewars Solution:Counting Duplicates

Posted mc-web

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codewars Solution:Counting Duplicates相关的知识,希望对你有一定的参考价值。

Level 6kyu :Counting Duplicates

描述:

计算重复次数编写一个函数,该函数将返回在输入字符串中多次出现的不区分大小写的字母字符和数字的计数。

可以假定输入字符串仅包含字母(大写和小写)和数字。

例如:

"abcde" -> 0 # no characters repeats more than once
"aabbcde" -> 2 # ‘a‘ and ‘b‘
"aabBcde" -> 2 # ‘a‘ occurs twice and ‘b‘ twice (`b` and `B`)
"indivisibility" -> 1 # ‘i‘ occurs six times
"Indivisibilities" -> 2 # ‘i‘ occurs seven times and ‘s‘ occurs twice
"aA11" -> 2 # ‘a‘ and ‘1‘
"ABBA" -> 2 # ‘A‘ and ‘B‘ each occur twice

 1 public static int duplicateCount(String text) {
 2     // Write your code here
 3     text=text.toLowerCase();//要求大小写也算转为小写或者大写(toUpperCase()方法)
 4     int len=text.length();
 5     int total=0;//返回(有两个及以上字符相同的)个数
 6     char[] arr=new char[len];//装入已检查字符,后续出现的不再循环
 7     int index=0;
 8     for(int i=0;i<len;i++){
 9       boolean flag=true;
10       int count=1;
11       for(char c:arr){
12         if(c==text.charAt(i)){
13           flag=false;
14         }
15       }
16       if(flag){//true即上面数组里面不存在现在循环的当前字符
17         for(int j=i;j<len;j++){
18           if(j==i)continue;
19           else{
20             if(text.charAt(i)==text.charAt(j)){
21               count++;
22             }
23           }
24         }
25         arr[index++]=text.charAt(i);
26       }
27       if(count!=1){//不等于1即有重复字符,总个数加1
28           total++;
29       }
30     }
31     return total;
32   

总结:代码调试真是找错的好东西。:D

 

以上是关于Codewars Solution:Counting Duplicates的主要内容,如果未能解决你的问题,请参考以下文章

Codewars练习

[codewars_python]Sum of Digits / Digital Root

将零移到最后:为啥我的 Python 代码未能通过 CodeWars 中的测试?

text codewars

javascript Codewars扰码

python codewars