您现在的位置是:主页 > news > 网站底部备案字体设置/线上营销的优势和劣势

网站底部备案字体设置/线上营销的优势和劣势

admin2025/6/22 7:01:28news

简介网站底部备案字体设置,线上营销的优势和劣势,怎么用html做个人的网页,建设博客网站步骤题目描述:找出一个字符串中出现次数最多的字符,如果有多个出现次数相同的字符,那就找出最先出现的那个字符 思考: 我的第一反应是分三步: 遍历字符串,统计每个字符出现的次数找出最大的次数找出最大次数对应…

网站底部备案字体设置,线上营销的优势和劣势,怎么用html做个人的网页,建设博客网站步骤题目描述:找出一个字符串中出现次数最多的字符,如果有多个出现次数相同的字符,那就找出最先出现的那个字符 思考: 我的第一反应是分三步: 遍历字符串,统计每个字符出现的次数找出最大的次数找出最大次数对应…

题目描述:找出一个字符串中出现次数最多的字符,如果有多个出现次数相同的字符,那就找出最先出现的那个字符
思考:

我的第一反应是分三步:

  1. 遍历字符串,统计每个字符出现的次数
  2. 找出最大的次数
  3. 找出最大次数对应的那个字符

这样解决是没有问题的,但是太笨了,遍历了三次。经过思考,发现可以利用map的特性,只需要遍历一次就可以解决问题,贴上代码如下:

/*** 找出一个字符串中出现次数最多的字符,如果有多个出现次数相同的字符,就找出最先出现的那个。*/
public class FirstChar {/*** 使用倒序查找的方式找到首先出现的次数最多的那个字符* @param str* @return*/private static char searchFirstChar(String str) {// 定义一个map,根据键值的唯一性,使用字符串中的字符作为键,出现的次数作为值Map<Character, Integer> map = new HashMap<>();// 将字符串转化为字符数组char[] ch = str.toCharArray();// 定义一个最大次数,初始值为0int max = 0;// 定义出现次数最多的字符,初始值为第一个字符char ret = ch[0];// 倒叙遍历字符串数组for (int i = ch.length - 1; i >= 0; i--) {// 如果map中存在该字符,则将map中的value加1,也就是字符出现的次数加1,// 否则就设置当前字符出现的次数为1if (map.containsKey(ch[i])) {// 将该字符出现的次数加1map.put(ch[i], map.get(ch[i]) + 1);// 如果该字符出现的次数大于max,则将max设置为当前字符出现的次数,// 并将出现次数最多的字符置为当前字符if (map.get(ch[i]) >= max) {max = map.get(ch[i]);ret = ch[i];}} else {map.put(ch[i], 1);}}return ret;}public static void main(String[] args) {// 测试字符String str = "a1a2a3bbbcccdddeeefffddda23112211";char c = FirstChar.searchFirstChar(str);System.out.println(c);}
}

执行结果:
在这里插入图片描述