【华为OJ】【010-字符个数统计】

【华为OJ】【算法总篇章】

【华为OJ】【010-字符个数统计】

【工程下载】

题目描述

编写一个函数,计算字符串中含有的不同字符的个数。字符在ACSII码范围内(0~127)。不在范围内的不作统计。

输入描述

输入N个字符,字符在ACSII码范围内(0~127)。

输出描述

输出字符的个数。

输入例子

abc

输出例子

3

算法实现

import java.util.Scanner;

/** * Author: 王俊超 * Date: 2015/12/21 17:06 * All Rights Reserved !!! */
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()) {
            int[] arr = new int[128];
            String input = scanner.nextLine();
            countChar(arr, input);
            System.out.println(countCharNum(arr));
        }

        scanner.close();
    }

    private static void countChar(int[] arr, String input) {
        for (int i = 0; i < input.length(); i++) {
            char c = input.charAt(i);
            if (c <= 127) {
                arr[c]++;
            }
        }
    }

    private static int countCharNum(int[] arr) {
        int result = 0;
        for (int i : arr) {
            if (i != 0) {
                result++;
            }
        }

        return result;
    }
}

你可能感兴趣的:(java,算法,华为)