华为机试:10. 字符个数统计

简介: 华为机试:10. 字符个数统计

1. 题目

10. 字符个数统计


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();
    }
}
目录
相关文章
|
5月前
【每日一题Day161】LC1641统计字典序元音字符串的数目 | 数位dp
【每日一题Day161】LC1641统计字典序元音字符串的数目 | 数位dp
46 0
|
5月前
【每日一题Day159】LC1638统计只差一个字符的子串数目 | 枚举
【每日一题Day159】LC1638统计只差一个字符的子串数目 | 枚举
36 0
|
5月前
除夕日的每日一题(字符个数统计,多数元素)
除夕日的每日一题(字符个数统计,多数元素)
38 2
|
容器
华为机试HJ10:字符个数统计
华为机试HJ10:字符个数统计
华为机试HJ84:统计大写字母个数
华为机试HJ84:统计大写字母个数
|
Python
统计字符串中不同字符个数问题
统计字符串中不同字符个数问题
120 0
LeetCode 1684. 统计一致字符串的数目
给你一个由不同字符组成的字符串 allowed 和一个字符串数组 words 。
83 0
|
Serverless C++
C/C++编程题之字符个数统计
C/C++编程题之字符个数统计
LeetCode每日一题——1684. 统计一致字符串的数目
给你一个由不同字符组成的字符串 allowed 和一个字符串数组 words 。如果一个字符串的每一个字符都在 allowed 中,就称这个字符串是 一致字符串 。
80 0