博客
关于我
华为机试: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/

你可能感兴趣的文章
Oracle select表要带双引号的原因
查看>>
Oracle SOA Suit Adapter
查看>>
Oracle Spatial GeoRaster 金字塔栅格存储
查看>>
Oracle spatial 周边查询SQL
查看>>
Oracle Spatial空间数据库建立
查看>>
UML— 活动图
查看>>
oracle sqlplus已停止工作,安装完成客户端后sqlplus报“段错误”
查看>>
oracle SQLserver 函数
查看>>
oracle sql分组(group,根据多个内容分组)在select之后from之前 再进行select查询,复杂子查询的使用
查看>>
UML— 时序图
查看>>
Oracle Statspack分析报告详解(一)
查看>>
oracle tirger_在Oracle中,临时表和全局临时表有什么区别?
查看>>
Oracle Validated Configurations 安装使用 说明
查看>>
oracle where 条件的执行顺序分析1
查看>>
oracle 中的 CONCAT,substring ,MINUS 用法
查看>>
Oracle 中的 decode
查看>>
oracle 中表一对多取多方的最新的一条数据
查看>>
oracle 使用 PL/SQL Developer创建表并插入单条、多条数据
查看>>
oracle 使用leading, use_nl, rownum调优
查看>>
oracle 修改字段类型方法
查看>>