js实现从字符串中查找出现次数最多的字符的两种解决办法

方法一:正则表达式匹配

 1  var str = "adadfdfseffserfefsefseeffffftsdg";
 2         var maxLength = 0; var result = "";
 3         while (str != ‘‘) {
 4             oldStr = str;
 5             getStr = str.charAt(0);
 6             str = str.replace(new RegExp(getStr, "g"), "");
 7             if (oldStr.length - str.length > maxLength) {
 8                 maxLength = oldStr.length - str.length;
 9                 result = getStr + "=" + maxLength;
10             }
11         }
12       alert(result);

方法二:利用数组存储

       var str = "abaacabbabab";
       var tempStr = "";
       var arr = Array;
       arr = [0];
      for (var i = 0; i < str.length - 1; i++) {

                    tempStr = str.charAt(i);

                    if (str.split(tempStr).length > arr[0]) {

                       arr[0] = str.split(tempStr).length - 1; //储存该字符出现次数

                       arr[1] = tempStr; //储存该字符
                    }
                }

      alert(arr);

js实现从字符串中查找出现次数最多的字符的两种解决办法

时间: 2025-01-06 21:49:27

js实现从字符串中查找出现次数最多的字符的两种解决办法的相关文章

用JAVA实现找出输入字符串中的出现次数最多的字符及其次数;

通过Map 类实现,通过键值对的方式,可以将输入的字符串的每一个字符,作为键,每个字符出现的次数作为值:如下: public class Find { public static void main(String[] args){ String scan=new Scanner(System.in).nextLine();//获取键盘上输入的字符串: Map<Character,Integer> map = new HashMap<Character,Integer>();//新建

一个字符串中连续出现次数最多的子串【转】一个字符串中连续出现次数最多的子串【转】

问题描述: 求一个字符串中连续出现次数最多的子串,子串的长度可以是 1 . 分析问题: 乍一看,好像无处下手.简单的穷举效率太低,随着输入的文本增长,时间复杂度和空间复杂度就会火箭般窜升至无法接受的地步. 我们需要寻找规律. 假设存在一个长度为 N 的子串 S 出现的次数最多.那么它具有哪些特点呢? S 的任一子串的出现次数不少于 S 的出现次数 S 中不会出现重复的子串字符 S 中不会出现重复的字符 组成 S 的每一个字符.每一个子串的出现次数都和 S 一样 “S 中不会出现重复的字符”,“组

js文件在IDEA中没有了格式,显示的是纯文本的解决办法

添加个Patterns就行了,名字为*.js js文件在IDEA中没有了格式,显示的是纯文本的解决办法

求一个字符串中连续出现次数最多的子串

解题思路 例如字符串"abababc",最多连续出现的为ab,连续出现三次.要和求一个字符串中的最长重复子串区分开来,还是上面的字符串,那么最长的重复子串为abab.两个题目的解法有些类似,都用到了后缀数组这个数据结构.求一个字符串中连续出现的次数最多的子串,首先生成后缀数组例如上面的字符串为: abababc bababc ababc babc abc bc c 可以看出第一个后缀数组和第三个后缀数组的起始都为ab,第5个后缀数组也为ab.可以看出规律来,一个字符串s,如果第一次出现

字符串中连续出现次数最多的子串

分析:首先逐个子串扫描来记录每个子串出现的次数. 然后再逐渐缩小字符子串来得出正确的结果   subStrs[0]比subStrs[1]多了一个字母,如果说存在连续匹配的字符,那么   subStrs[0]的第1个字母要跟subStrs[1]首字母匹配,同理   subStrs[0]的前2个字母要跟subStrs[2]的前2个字母匹配(否则不能叫连续匹配)   subStrs[0]的前n个字母要跟subStrs[n]的前n个字母匹配.  如果匹配的并记下匹配次数.如此可以求得最长连续匹配子串. 

关于两个div高度保持一致的(css+js)两种解决办法

最近修改以前写的一些代码,发现点问题. 比如2个div需要动态的保持一致的高度. css的做法是: 精心开发5年的UI前端框架! .代码   <div style="overflow:hidden"> <div id="left" style="margin-bottom:-10000px; padding-bottom:10000px;"></div> <div id="right"

linux shell中不显示路径了,显示为-bash-4.1#的两种解决办法

出现这个问题的原因是因为没有配置.bash_profile的问题,或者是我们不小心清空或删除了.bash_profile文件. 办法一:修改 ~/.bash_profile文件 步骤如下: vim ~/.bash_profile (不用管.bash_profile这个文件有几个,自己新建一个也是可以的) 在最后加上 export PS1='[\[email protected]\h \W]\$' 然后执行 source ~/.bash_profile 这样shell就可以显示路径了. 方法二:拷

查找重复次数最多的子字符串

查找重复次数最多的子字符串,借鉴兆芯查找重复次数最多的字符,我们可以进行扩展,查找重复次数最多的子字符串. 基本思想是把重复次数最大记录下来,并记录起始位置: #include <iostream> #include <stdio.h> using namespace std; int mystrlen(char *str) { int sum(0); char *temp=str; while(*temp!='\0') { ++temp; ++sum; } return sum;

关于mybatis中的实体类属性与数据库中的列名不一致的两种解决方法

1.我们都知道,在mybatis中写实体类的时候,是按照数据库中的列名来给实体类定义属性的,举个例子: public class User implements Serializable { private Integer id; private String username; private String address; private String sex; private Date birthday; } 2.但是,如果我们在定义实体类的时候,实体类中的属性与数据库列名不一致呢?比如: