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

本文共 1091 字,大约阅读时间需要 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/

你可能感兴趣的文章
Nginx SSL私有证书自签,且反代80端口
查看>>
Nginx upstream性能优化
查看>>
Nginx 中解决跨域问题
查看>>
nginx 代理解决跨域
查看>>
Nginx 动静分离与负载均衡的实现
查看>>
Nginx 反向代理 MinIO 及 ruoyi-vue-pro 配置 MinIO 详解
查看>>
nginx 反向代理 转发请求时,有时好有时没反应,产生原因及解决
查看>>
Nginx 反向代理解决跨域问题
查看>>
Nginx 反向代理配置去除前缀
查看>>
nginx 后端获取真实ip
查看>>
Nginx 多端口配置和访问异常问题的排查与优化
查看>>
Nginx 如何代理转发传递真实 ip 地址?
查看>>
Nginx 学习总结(16)—— 动静分离、压缩、缓存、黑白名单、性能等内容温习
查看>>
Nginx 学习总结(17)—— 8 个免费开源 Nginx 管理系统,轻松管理 Nginx 站点配置
查看>>
Nginx 学习(一):Nginx 下载和启动
查看>>
nginx 常用指令配置总结
查看>>
Nginx 常用配置清单
查看>>
nginx 常用配置记录
查看>>
nginx 开启ssl模块 [emerg] the “ssl“ parameter requires ngx_http_ssl_module in /usr/local/nginx
查看>>
Nginx 我们必须知道的那些事
查看>>