Java写题解的第1天 | #字符个数统计#

字符个数统计

http://www.nowcoder.com/practice/eb94f6a5b2ba49c6ac72d40b5ce95f50

Java写题解的第1天:字符个数统计

由不重复联想到使用set
两种方法:第一种直接遍历字符串存入set,输出set长度即可;第二种建立一个长度为128的数组,检测字符是否出现,再遍历求得个数;
两种方法时间内存接近,时间复杂度均为O(n)

import java.io.*;
import java.util.HashSet;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        char[] cs = br.readLine().toCharArray();
        br.close();

        // 方法一:12ms 9428kb
        HashSet<Character> set = new HashSet<>();
        for(char c: cs) {
            set.add(c);
        }
        System.out.println(set.size());
    }

    // 方法二:13ms 9444kb
    public static int count(char[] cs) {
        boolean[] set = new boolean[128];
        int count = 0;
        for(char c: cs) {
            set[(int)c] = true;
        }
        for(boolean b: set) {
            if(b) 
                count++;
        }
        return count;
    }
}
全部评论

相关推荐

牛客85811352...:1希音不知道算不算大厂 2完全符合,过得很舒服, 3确实只有杂活 领导找我续签到明年3、4月我要继续吗。主要是边实习边秋招这段时间还是有点累
什么是优秀的实习经历
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务