`

巧妙使用使用数组快速统计字符出现次数

 
阅读更多
	public static void main(String[] args) throws IOException{
		int[] cs = new int[Character.MAX_VALUE];
		Reader reader = new FileReader(new File("F:/log.txt"));
		int index;
		while((index = reader.read()) != -1){
			cs[index]++;
		}
		for(int i=0;i<cs.length;i++){
			if(cs[i]!=0)
			System.out.println((char)i+"出现次数:"+cs[i]);
		}
	}

这段代码很精简,使用了Character.MAX_VALUE这个常量,利用此边界创建出一个可以包含所有字符的数组,通过char类型与int类型的互相转换得出最终结果。
分享到:
评论

相关推荐

    java实现从命令行读入文本统计字符的程序

    5. **统计词频**:词频统计通常涉及到分词(将文本切分成单词)和使用哈希表(如`HashMap`)来存储每个单词及其出现的次数。对于英文文本,可以使用空格作为分隔符,然后使用正则表达式去除标点符号。 6. **文件...

    树状数组详解以及案例使用场景.zip

    3. **数据压缩**:在数据压缩算法中,可以利用树状数组来统计不同频率的字符出现的次数,从而优化编码过程。 4. **游戏算法**:在某些游戏中,树状数组可以用于动态维护玩家的状态,如积分、等级等,支持快速的增减...

    压缩字符串(双指针)1

    题目要求在给定的字符数组中,通过原地算法实现字符串的压缩,使得连续重复的字符用一个字符加上它的重复次数来表示。例如,"aa"变为"a2","ccc"变为"c3"。输出应是压缩后数组的新长度,并且数组的每个元素必须是...

    c++版的字符串加解密程序,huffman算法

    1. 计算字符频率:统计字符串中每个字符出现的次数。 2. 构建Huffman树:使用字符频率创建优先队列,然后逐步合并频率最小的两个节点,直到只剩下一个根节点,形成一棵二叉树。 3. 生成编码:从根节点到每个叶子节点...

    前端大厂最新面试题-sliding-window.docx

    可以使用哈希表记录每个字符的出现次数,窗口移动时调整计数。 8. **最长湍流子数组**:找到数组中最长的子数组,使得子数组中的元素交替增加和减少。滑动窗口可以用来跟踪当前子数组的增减状态。 9. **爱生气的...

    计算模型与算法技术:7-Space and Time Tradeoffs.ppt

    通过计数排序,我们只需遍历一次数组,统计每个元素的出现次数,然后根据统计结果直接构建有序数组,显著提高了效率。 总结来说,空间与时间权衡是算法设计的核心考虑因素之一。通过巧妙地利用额外的空间,我们可以...

    手稿_V1.056

    1. 首先遍历`chars`,用`map``mci`统计每个字符出现的次数。 2. 然后,对每个单词进行如下操作: - 创建临时`map``mci_temp`,用于存储当前单词中每个字符的出现次数。 - 检查`mci_temp`中的每个字符,如果该字符...

    【史上最全】算法面试题集锦.pdf

    统计一个数组中每个数字出现的次数,可以使用哈希表来记录每个数字出现的次数。遍历数组,对哈希表进行更新,哈希表的键为数组中的数字,值为该数字出现的次数。 7. 微软亚院之编程判断两个链表是否相交 知识点:...

    编程珠玑习题集锦

    - 利用C++中的`map`容器,可以高效地统计字符串的出现次数,键值对存储字符串及其出现次数,遍历并更新即可。 以上是《编程珠玑》中涉及的一些核心知识点,这些问题和方法展示了如何运用巧妙的算法和数据结构来...

    Python3实现计算两个数组的交集算法示例

    `Counter`是一个可哈希对象的频率计数器,它可以统计元素出现的次数。在这个方案中,我们首先将两个数组转换为`Counter`对象,然后通过位运算`&`找到两个计数器中都存在的元素,即交集。最后,我们使用`elements()`...

    华为机选题Java解法

    通过输入一段文本和一个指定字符,程序需统计该字符(包括大写和小写形式)在文本中出现的次数。此题有助于理解如何处理字符串中的字符以及如何进行条件判断。 **核心代码解析:** ```java char c = cStr.charAt(0...

    《剑指Offer》题目及Java版代码(带目录)

    17. 从1到整数n中1出现的次数:这是一个对数学规律的考察,可以通过遍历每一位数字进行统计。 18. 把数组中的数排成一个最小的数:需要对数组进行排序,但排序的依据是字符串形式的比较。 19. 求第N个丑数:丑数是...

    构建大顶堆leetcode-LeetCode:ヾ(◍°∇°◍)ノ゙小黄的LeetCode刷题之路

    数组中出现次数超过数组长度一半的数字 第一个只出现一次的字符 连续子数组的最大和 扑克牌顺子 字符串 表示数值的字符串 替换空格 正则表达式匹配 字符串的排列 字符串翻转 字符流中第一个不重复的字符串 链表 栈和...

    C经典算法之得分排行

    - 首先创建一个辅助数组`juni` 来统计每个分数出现的次数。 - 再次遍历`juni` 数组,累计每个分数的排名信息。 2. **实现细节**: - 初始化`juni` 数组为0,表示没有任何分数出现过。 - 通过遍历`score` 数组并...

    【字符串】C023_字符串中的第一个唯一字符(map | String 自带方法)

    第一种方法是通过HashMap来统计每个字符出现的次数。首先,将输入字符串`S`转换为字符数组`s`。接着,创建一个HashMap,用于存储每个字符及其对应的出现次数。遍历字符数组,对于每个字符,如果它不在HashMap中,则...

    编程内功心法-编程算法题库

    可以使用哈希表来统计字符频率。 - **跳台阶**:要求计算跳上n级台阶的不同方法数量。通常使用动态规划的方法来解决,建立递推公式来求解。 以上就是对于“编程内功心法—编程算法题库”中的各类算法题目的详细...

    《C 程序员面试算法宝典》读书笔记模板x.pptx

    7. 如何查找连续数字中某个数字出现的次数 8. 如何反转整数 9. 如何判断一个数字是否是回文数 大数据篇 1. 如何从大量的 URL 中找出相同的 URL 2. 如何从大量数据中找出高频词 3. 如何找出访问百度最多的 IP 4. ...

    PHP array_flip() 删除重复数组元素专用函数

    2. 使用 `array_column()` 和 `array_count_values()` 结合:先通过 `array_column()` 提取数组的某一列,然后使用 `array_count_values()` 统计各值的出现次数,最后筛选出出现次数为 1 的值。 3. 使用 `array_...

    JS实现的几个常用算法

    本文将详细介绍如何利用JavaScript实现一些常用的算法,包括数组去重、快速排序、统计字符串中出现次数最多的字符、交换两个变量的值、计算数组最大差值以及生成随机字符串。 首先,数组去重是一个常见的操作,它指...

    数据结构实验报告答案.doc

    例如,可以通过遍历字符串,统计字符的出现频率,并记录需要删除的子串位置。在这一过程中,对输入输出格式的严格要求将帮助学生养成良好的编程习惯。 约瑟夫环问题和猴子选大王模块都是典型的算法问题,反映了数据...

Global site tag (gtag.js) - Google Analytics