查找字符串(sdjksfssscfssdd )中出现最多的字符(s)和个数(7)
2016-12-28 14:25
190 查看
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>查找字符串中出现最多的字符和个数</title> </head> <body> <script> /* * 问题描述: * 查找字符串中出现最多的字符和个数? * 例如:sdjksfssscfssdd -> 字符最多的是s,出现了7次 * 要求:字符串 + 正则两种方法 * * 解决思路: * 我们将字符串 sdjksfssscfssdd 表示为下面形式 * { * s : [s,s,s...], * d : [d,d,d...], * ... * } * */ var a = 'sdjksfssscfssdd'; /* * 解法一:字符串方式 * */ (function (a) { var obj = {}; var num = 0; var value = ''; for ( var i = 0; i < a.length; i++ ) { // 如果obj中不存在某个字符属性,就把它添加进去 if (!obj[a[i]]) { obj[a[i]] = []; } // 把值一一填入到obj[a[i]]中 obj[a[i]].push(a[i]); } // console.log(obj); // 找出最多项的那个 for ( var attr in obj ) { if (num < obj[attr].length) { num = obj[attr].length; value = obj[attr][0]; } } var res = '字符最多的是' + value + ',出现了' + num + '次'; alert(res); })(a); /* * 解法二:正则方式 * * 解决思路:先排序,再计算 * 将 sdjksfssscfssdd 排序为下面的形式 * ss..jj..ff..ss.. * 然后找出出现最多的那个字符和数量 * */ /*(function (a) { var num = 0; var value = ''; // 排序 a = a.split('').sort().join(''); // 计算 // \1表示和(\w)相同,这里找出连续相同的字符串 var re = /(\w)\1*!/g; a.replace(re, function ($0, $1) { if (num < $0.length) { num = $0.length; value = $1; } }); var res = '字符最多的是' + value + ',出现了' + num + '次'; alert(res); })(a);*/ </script> </body> </html>
相关文章推荐
- Javascript 查找字符串中出现最多的字符和出现的次数
- 查找一个字符串中出现最多的字符出现的次数
- 查找字符串中出现最多的字符和个数
- 查找一个字符串里,出现次数最多的字符,时间复杂度O(n)
- javascript查找字符串中出现最多的字符和次数的小例子
- Js查找字符串中出现次数最多的字符及个数实例解析
- 查找出字符串中出现最多的字符及其出现的次数
- 查找字符串中出现最多的字符和个数--- 正则的方法
- JS查找字符串中出现最多的字符及个数统计
- 查找一个字符串中出现次处最多的那个字符,并输出出现次数
- 查找字符串中出现最多的字符和个数(两种方法一个普通方法 一个是正则表达式方式)
- 输入一个字符串,查找出出现次数最多的字符
- 查找字符串中出现最多的字符和出现的次数
- 查找字符串中出现最多的字符
- 查找字符串中出现次数最多的字符
- 查找一个字符串里,出现次数最多的字符,时间复杂度O(n)
- 查找字符串中出现次数最多的字符
- 查找出字符串中出现最多的字符及其出现的次数
- hash数组快速查找一个字符串中出现最多的字符,并统计出现的次数
- js查找字符串出现最多字符