码迷,mamicode.com
首页 > 其他好文 > 详细

Codewars Solution:Counting Duplicates

时间:2020-06-22 21:04:53      阅读:53      评论:0      收藏:0      [点我收藏+]

标签:style   dex   编写   uppercase   character   return   HERE   flag   数组   

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

标签:style   dex   编写   uppercase   character   return   HERE   flag   数组   

原文地址:https://www.cnblogs.com/mc-web/p/13179036.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!