牛客网 华为机试 字符个数统计

在本题中,我们要统计字符的个数并且去除掉重复元素,我们可以使用hashset集合,因为hashset是不包括重复元素的。然后我们只需要从头开始遍历这个字符串,依次将元素加入到hashset集合即可,最后返回集合的长度即可。

复制代码
import java.util.HashSet;
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
       Scanner sc = new Scanner(System.in);
       String str = sc.nextLine();
       HashSet<Character> hs = new HashSet<Character>();
       for(int i = 0;i<str.length();i++){
            hs.add(str.charAt(i));    
       }
       System.out.println(hs.size());
    }
}

注意:本题的关键是利用hashset集合不包括重复元素来去重。

相关推荐
码途行者4 分钟前
网站的SQL 注入:从攻击原理到防御措施
开发语言·sql·php
SimonKing5 分钟前
震惊:怎么回事,opencode一轮对话耗尽免费额度
java·后端·程序员
装不满的克莱因瓶9 分钟前
【SpringAI Alibaba】ReactAgent响应SSE实时流式传输案例实战
java·人工智能·ai·sse·springai
杨凯凡12 分钟前
Spring Boot 文件上传怎么做才安全?流式落盘、路径校验与数据库一致性实战
java·spring boot·文件上传·后端安全·数据库一致性
旖旎夜光27 分钟前
【C++ 基础入门】C++ 多态(中):虚函数表、多态原理与动静绑定
开发语言·c++·笔记·学习
这个昵称不容易38 分钟前
旅游管理系统的设计与实现(SpringBoot + MySQL + Vue 前后端分离)
java·springboot·毕设
Rain的Java大神之路39 分钟前
LeetCode 37 解数独面试攻略:回溯 + 位掩码 + MRV,从暴力到毫秒级求解
java·后端·leetcode
你看我名字39 分钟前
产品参数昨天还对,今天已过期:数眼智能与大模型应用如何做资料版本校验
开发语言·架构
老秦包你会1 小时前
计算机网络第二课 ----Socket(套接字)编程预备
开发语言·计算机网络·php
旖旎夜光2 小时前
【C++ 基础入门】C++多态(下):单/多继承虚表、多态补充与 21 道高频题
开发语言·c++·笔记·学习