华为机试 10. 字符个数统计
程序员文章站
2024-03-11 20:31:19
...
1. 题目
2. 描述
编写一个函数,计算字符串中含有的不同字符的个数。字符在ACSII码范围内(0~127),换行表示结束符,不算在字符里。不在范围内的不作统计。多个相同的字符只计算一次
输入
abaca
输出
3
输入描述:输入N个字符,字符在ACSII码范围内。
输出描述:
输出范围在(0~127)字符的个数。
示例1
输入
abc
输出
3
3. 实现方法
3.1 方法 1
3.1.1 思路
- 初始化一个列表
list
用于存放字符串中的不重复的字符; - 遍历字符串,
list
未出现的字符加入,已经出现过的字符则跳过; - 返回列表长度即为最终结果;
3.1.2 实现
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/**
* @author : cunyu
* @version : 1.0
* @className : Ten
* @date : 2020/8/10 23:56
* @description : 10. 字符个数统计
*/
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
while (input.hasNext()) {
String str = input.nextLine();
System.out.println(countChar(str));
}
}
/**
* @param str 输入的字符串
* @return
* @description 计算 ASCII 范围内字符个数
* @date 2020/8/11 0:02
* @author cunyu1943
* @version 1.0
*/
public static int countChar(String str) {
List<Character> list = new ArrayList<>();
for (int i = 0; i < str.length(); i++) {
if (list.contains(str.charAt(i))) {
continue;
} else {
list.add(str.charAt(i));
}
}
return list.size();
}
}