`

统计字符串中出现最多和最少的次数

 
阅读更多

上周遇到的一道Java面试题:

 

统计字符串中出现最多和最少的次数:

代码如下:

 

package pack.java.demo;

import java.util.Collections;
import java.util.Map;
import java.util.TreeMap;
/**
 * 统计字符串中出现最多或最少的次数;
 * @author zhouhaitao
 * 2012-2-12
 */
public class CountString {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		CountString countString = new CountString();
		countString.countString("eabcdssasbccdddddsesssaaa");
	}
	
	/**
	 * 统计字符串出现最多的个数;
	 * @return
	 */
	private void countString(String str){
		Map<String,Integer> map = new TreeMap<String, Integer>();
		int count = 0;
		if(str!=null && !"".equals(str.trim())){
			//根据字符串长度循环;
			for(int i = 0;i<str.length();i++){
				count = 0;
				String tempString = str.substring(i, i+1);
				for(int x = 0;x<=i;x++){
					if(tempString.equals(str.substring(x, x+1))){
						count++;
					}
				}
				map.put(tempString, count);
			}
		}
		
		int max = Collections.max(map.values());
		int min = Collections.min(map.values());
		System.out.println("字符串中出现最多的次数是:"+max+"次,出现最少的次数是:"+min+"次");
	}
}

 

输出结果:

字符串中出现最多的次数是:7次,出现最少的次数是:2次

分享到:
评论

相关推荐

    javascript查找字符串中出现最多的字符和次数的小例子

    在这篇文章中,将会探讨如何使用JavaScript编程语言来查找一个字符串中出现频率最高的字符以及对应的出现次数。这个任务在处理文本数据时尤其有用,比如分析用户的搜索关键词,或者进行自然语言处理等。 具体的知识...

    提取字符串中url域名

    `:表示匹配任意非`/`字符,最少匹配次数为0次,最多匹配至下一个`.`出现。 - `\\.`:匹配一个`.`字符。 - `(com|cn|net|org|biz|info|cc|tv)`:匹配指定的一组顶级域名中的任意一个。 - `Pattern.CASE_...

    面试题目_cc++面试-----17道经典编程题目分析

    这道题目考察了字符串处理的能力,要求读者编写一个函数来统计字符串中每个小写字母的出现次数,并输出出现次数最多的字符。 8. 输一个整数n,计算不大于n的数中和7相关的数的个数,包括能被7整出的数和含有字符7的...

    通过LinQ查询字符出现次数的实例方法

    在描述中提到的场景是一个问卷调查,需要找出用户选择最多的选项,这可以通过统计字符串中各字符出现的次数来实现。 在传统的实现方式中,我们可以创建一个字典(Dictionary, int&gt;)来存储每个字符及其出现的次数,...

    程序设计_文本编辑器的设计与实现..pdf

    统计功能:该功能可以统计出文档中所有出现次数最多和最少的字符串。该功能可以帮助用户快速了解文档中的统计信息。 查找与替换功能:该功能能够查找任意一个字符串在文档中出现的次数,并可以选择全部或有选择地将...

    文档编辑器的设计与实现

    文档编辑器需要具备统计功能,包括统计文档中出现次数最多和最少的单词。这涉及到两个主要步骤: 1. **单词提取**:利用字符数组或字符指针来提取文档中的每个单词。 2. **统计频率**:使用适当的数据结构(例如哈希...

    美团2016研发工程师编程题及答案(二).pdf

    在给定的代码中,首先统计字符串中每个字符出现的次数,并将这些次数作为优先级入队。接着,通过不断合并出现次数最少的两个节点,构造出霍夫曼树,从而得到每个字符的霍夫曼编码。这个过程中,`priority_queue`被...

    Python文本统计功能之西游记用字统计操作示例

    遍历文本通常意味着逐个检查文本中的每个字符,这在统计字符出现次数时是必不可少的。在遍历过程中,通常会使用for循环,逐个读取字符,并进行相应的处理,比如这里提到的,去除标点符号和空白符。 然后,涉及到...

    coding-interview-in-java.pdf

    - 给定一个非负整数数组,找出数组中出现次数前k多的元素。这是排序和哈希表组合的问题,可以用最小堆优化。 48. MeetingRoomsII - 给定一个会议时间安排的数组,确定需要多少个会议室。这是考察时间区间和最小堆...

    算法实验第一次实验报告1

    汽车加油问题就是一个典型的贪心问题,可能需要规划最少次数的加油点来完成一段旅程,每次加油都假设加满油箱。 最优分解问题,可能是寻找一个整数的最佳分解方式,比如最小化加和或最大化乘积。这类问题可能需要...

    Google 算法真题 20201

    - 给定一个以逗号分隔的单词字符串,找出出现次数最多的单词。这可以通过哈希表实现,统计每个单词的出现次数。 8. **种花问题**: - 求在满足特定条件(每堆至少K个连续开花)下,最晚的开花日期。这可能需要...

    Oracle正则表达式

    - **含义**:表示前面的字符或子表达式最少出现`m`次,最多出现`n`次。 - **应用场景**:精确控制字符或子表达式的重复次数。 12. **|(表示或的关系)** - **含义**:表示两个表达式之间的选择关系。 - **应用...

    算法设计源代码 删数 众数 字典序

    此外,压缩包中的其他文件,如“数字统计.docx”可能涉及统计分析,"众数问题.docx"可能讲解找出数组中出现次数最多的数字的算法,“最少硬币.docx”可能涵盖找零问题,而“集合划分.docx”可能涉及分割集合的问题。...

    题解(南开大学版).pdf

    以上知识点涵盖了数据结构和算法的多个重要领域,从树的遍历、序列构造、图的最短路径,到整数分治、字符串处理、卡牌排列、脉冲相交分析和扫描次数计算等。这些知识点不仅在理论计算机科学中占据重要位置,而且在...

    HUffman 编码

    在数据压缩的过程中,首先需要统计输入字符串中每个字符出现的频率。例如,如果一个文本中“a”出现次数最多,“z”最少,那么“a”的哈夫曼编码会比“z”的短。构建哈夫曼树的过程是一个优先队列的操作过程,通常用...

    青少年软件编程(C语言)等级考试试卷(五级)

    1. **字符串操作**:需要对包含5个数字的字符串进行操作,包括读取、存储和修改。 2. **数学逻辑**:理解三种操作(交换、加1、加倍)并应用到字符串的每个数字上。 3. **动态规划**:为了找到最小操作步数,可以...

    3、动态规划必练题(含解法).pdf

    统计一个字符串所有非空子序列在另一个字符串中出现的次数。动态规划方法,考虑当前字符是否出现在子序列中。 11. **Largest Rectangle in Histogram** (柱状图中最大的矩形) 求柱状图中能构成的最大矩形面积。...

    北京青少年程序展示活动2022(RYIP竞赛)题目——小学组

    - 遍历完成后,输出最多可以组成的字符串“zhihui”的数量。 #### 问题C: 坐标 **知识点:** - **坐标变换:** 通过给定点和操作序列计算最终坐标。 - **错误检测:** 找出一系列操作中的异常步骤。 **题目分析:...

Global site tag (gtag.js) - Google Analytics