博客
关于我
华为机试:10. 字符个数统计
阅读量:383 次
发布时间:2019-03-05

本文共 1068 字,大约阅读时间需要 3 分钟。

编写一个函数,计算字符串中含有的不同字符的个数。字符在ASCII码范围内(0~127),换行表示结束符,不算在字符里。不在范围内的字符不作统计。多个相同的字符只计算一次。

输入

输入N个字符,字符在ASCII码范围内。

输出

输出范围在(0~127)字符的个数。

示例

输入abc输出3

实现方法

方法1

  • 思路

  • 初始化一个集合用于存储字符串中的不重复的字符。
  • 遍历字符串,对于每个字符:
    • 检查字符是否在ASCII码范围(0~127)内。
    • 如果不在范围内,跳过。
    • 如果在范围内,检查集合中是否存在该字符。
    • 如果不存在该字符,将其添加到集合中。
  • 返回集合的大小,即为不同字符的个数。
  • 实现

    import java.util.HashSet;import java.util.Set;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));        }    }    public static int countChar(String str) {        Set
    set = new HashSet<>(); for (int i = 0; i < str.length(); i++) { char c = str.charAt(i); if (c >= 0 && c <= 127) { if (!set.contains(c)) { set.add(c); } } } return set.size(); }}

    注意:以上代码使用HashSet来存储字符,确保每个字符只存储一次。countChar函数遍历字符串的每个字符,检查字符是否在ASCII范围内,并且是否已经存在于集合中。如果满足条件,则将字符添加到集合中。最后,集合的大小即为不同字符的个数。

转载地址:http://wpjwz.baihongyu.com/

你可能感兴趣的文章
NuGet(微软.NET开发平台的软件包管理工具)在VisualStudio中的安装的使用
查看>>
nuget.org 无法加载源 https://api.nuget.org/v3/index.json 的服务索引
查看>>
Nuget~管理自己的包包
查看>>
NuGet学习笔记001---了解使用NuGet给net快速获取引用
查看>>
nullnullHuge Pages
查看>>
NullPointerException Cannot invoke setSkipOutputConversion(boolean) because functionToInvoke is null
查看>>
null可以转换成任意非基本类型(int/short/long/float/boolean/byte/double/char以外)
查看>>
Numix Core 开源项目教程
查看>>
numpy
查看>>
NumPy 或 Pandas:将数组类型保持为整数,同时具有 NaN 值
查看>>
numpy 或 scipy 有哪些可能的计算可以返回 NaN?
查看>>
numpy 数组 dtype 在 Windows 10 64 位机器中默认为 int32
查看>>
numpy 数组与矩阵的乘法理解
查看>>
NumPy 数组拼接方法-ChatGPT4o作答
查看>>
numpy 用法
查看>>
Numpy 科学计算库详解
查看>>
Numpy.fft.fft和numpy.fft.fftfreq有什么不同
查看>>
Numpy.ndarray对象不可调用
查看>>
Numpy:按多个条件过滤行?
查看>>
Numpy:条件总和
查看>>