javascript 写一段代码,判断一个字符串中出现次数最多的字符串,并统计出现的次数

 1 function test(){
 2     var bt = document.getElementById("bt");
 3     bt.addEventListener("click",function(){
 4
 5         var str = "dafdsjkfnaiesdaadsllllllkkkkk444444444444444";
 6         var obj = [];    // 存放结果集的数组,结果中存放 key-value 对象
 7         for(var i =0;i<str.length;i++){    // 遍历字符串 求结果集
 8             var key = str[i];
 9             if(!obj[key]){
10                 obj[key] = 1;    // 如果结果集中还没有添加该字符 赋初值1
11             }else{
12                 obj[key]++;    // 结果集中已添加的字符 数量++
13             }
14         }
15         console.log( typeof obj);
16         for(key in obj){
17             console.log(key+obj[key]);
18             console.log(typeof key );
19             console.log(typeof obj[key]);
20         }
21
22         var resultKey=[];    // 存储数量最多的一个或多个字符(有多个字符出现次数相同)
23         var max = -1;    // 出现的最大数量
24         for(key in obj){    // 遍历结果集
25             if(obj[key]==max){    // 多个字符
26                 resultKey.push(key);
27             }
28
29             if(obj[key]>max){    // 一个字符
30                 resultKey = [];    // 数量最多字符数组置空
31                 resultKey.push(key);    // 添加字符
32                 max = obj[key];
33             }
34         }
35         console.log("resultKey: "+resultKey+"  "+"count:"+max);
36
37     } );
38 }

时间: 2024-08-04 09:28:46

javascript 写一段代码,判断一个字符串中出现次数最多的字符串,并统计出现的次数的相关文章

PHP写一段代码,确保多个进程同时写入一个文件成功

这个需求是在软件设计过程常见的加锁.学计算机的同学都应该知道,这个是在<计算机操作系统>课程上有这个知识点.主要要考虑的是进程的同步,也就是进程对资源的互斥访问.OK,用程序说话吧! <?phpfunction writefile( $filename, $data ){ $fp = fopen( $filepath, 'a' );   //以追加的方式打开文件,返回的是指针 do{   usleep( 100 );  //暂停执行程序,参数是以微秒为单位的 }while( !flock

判断一个字符串之中出现次数最多的字符和它出现的次数

判断一个字符串之中出现次数最多的字符和它出现的次数!!! 思路:用一个空对象将字符串的各个字符和其出现的次数缓存起来,再通过比较次数的大小来判断出最大值 (function(){ // 判断一个字符串中出现次数最多的字符,统计这个次数 var str = 'hkjjsdhfagsdhfjhkjsdhfjkjjsjdjksjkfjkdjfkjjjjjjjsadfss'; var a={} for(var i=0;i<str.length;i++){ if(!a[str.charAt(i)]){ a

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

时间:2014.09.12 地点:基地 心情:明天就要和欧阳去武汉面试阿里了,整理一下同学求助的一道题,写下这一篇,愿一切顺利. 一.题目: 求一个字符串中连续出现最多的子串次数:例如字符串abcbcbcabc,连续出现次数最多的子串是bc,出现次数为3. 二.分析 方法:后缀思路 比如题目中举例中的字符串,它的后缀有: abcbcbcabc  0 bcbcbcabc  1 cbcbcabc  2 bcbcabc  3 cbcabc  4 bcabc  5 cabc  6 abc  7 bc  

判断一个数字中是否包含两个相同的子串并输出

功能:判断一个数字中是否包含两个相同的子串(字串长度至少大于等于2),并输出(仅输出第一次相同的子串) 1 package ren.laughing.test.problem; 2 3 import java.util.Scanner; 4 5 /** 6 * 功能:判断一个数字中是否包含两个相同的子串(字串长度至少大于等于2),并输出(仅输出第一次相同的子串) 7 * 8 * @author Laughing_Lz 9 * @time 2016年7月4日 10 */ 11 public cla

zoj 1041 Transmitters 判断一个可以移动的半圆最多可容纳的点的个数

题目来源: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=41 题意:  判断一个可以移动的半圆最多可容纳的点的个数 . 分析:  计算在圆内的点, 然后  枚举 这些点, 将点 和 圆心 的连线 的直径 的左右点 统计, 最大 值 即可. 代码如下: const double EPS = 1e-12; const int Max_N = 160; double add(double a, double b){ return

C#判断一个类中有无&quot;指定名称&quot;的方法

C#中可以通过反射分析元数据来解决这个问题,示例代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 using System; using System.Reflection; namespace Hello {     class Program     {  

找出n个字符串中出现次数最多的字符串。

1. 找出n个字符串中出现次数最多的字符串. C/C++: char* find(char **data,int n); Java: String find(String data[]); 说明: 1. data是字符串数组,n是数组中字符串的个数,返回值为出现次数最多的字符串. 2. 若结果有多个,返回任意一个即可 3. 不得使用任何库函数/API,如需使用类似功能, 请自行实现 4. 算法效率尽可能高,尽量少的使用内存空间 5. 必须要有代码注释和算法说明. 例如:data里面的数据是{“p

字符串中连续出现最多的子串 &amp; 字符串中最长重复子串

字符串中连续出现最多的子串 & 字符串中最长重复子串 字符串中连续出现最多的子串 & 字符串中最长重复子串,这两个问题都可以用后缀数组来表示,至于后缀数组可以参考编程珠玑P156:后缀数组就是定义一个数组指针,分别指向字符串中的对应位置,如下: a b c a b c a b c d e .substr[0] b c a b c a b c d e ....substr[1] c a b c a b c d e .......substr[2] a b c a b c d e ......

字符串中连续出现最多的子串 &amp;amp; 字符串中最长反复子串

字符串中连续出现最多的子串 & 字符串中最长反复子串 字符串中连续出现最多的子串 & 字符串中最长反复子串,这两个问题都能够用后缀数组来表示,至于后缀数组能够參考编程珠玑P156:后缀数组就是定义一个数组指针,分别指向字符串中的相应位置,例如以下: a b c a b c a b c d e .substr[0] b c a b c a b c d e ....substr[1] c a b c a b c d e .......substr[2] a b c a b c d e ....