javascript获取重复次数最多的字符
javascript获取重复次数最多的字符
/** 取出字符串中重复字数最多的字符 */ var words = 'sdfghjkfastgbyhnvdstyaujskgfdfhlaa'; //创建字符串 var word, //单个字符 length; //该字符的长度 //定义输出对象 var max = { wordName : '', //重复次数最多的字符 wordLength : 0 //重复的次数 }; //递归方法,传入字符串 (function(words) { if (!words) return; //如果字符串已经变空则返回,结束递归 word = words[0]; //取出字符串中的第一个字符 length = words.length; //将length设为当前字符串长度 words = words.replace(new RegExp(word, 'g'), ''); //返回将字符串剔除当前字符的剩余字符串 length = length - words.length; //重设length为当前字符在字符串中的长度 if (length > max.wordLength) //如果该字符重复次数大于maxLength,则重设maxLength为当前字符重复次数 max = { //重设对象的值 wordName : word, wordLength : length }; arguments.callee(words); //递归调用,传入剩余字符串 })(words); console.log(max.wordName+"\n"+max.wordLength); //递归结束后输出结果
今天上午偶然看见这样的一个问题.看到网上大部分是用两个循环做出来的.然后自己用递归写了一下
思路是
每递归一次.取出第一个字符.从字符串中剔除相同符号的字符,并拿之前的字符串长度减去剔除后的字符串长度.
得到的是该字符串中当前字符所重复次数.
判断该字符重复次数是否大于当前输出对象中存储的maxLength.
如true,则更新
然后进入下次递归,直到字符串被替换完,终止
输出对象中存储的就是次数最多的字符以及重复的次数
以上所述就是本文的全部内容了,希望大家能够喜欢。
相关推荐
-
JavaScript实现找出字符串中第一个不重复的字符
此算法仅供参考,小菜基本不懂高深的算法,只能用最朴实的思想去表达. //找出字符串中第一个不重复的字符 // firstUniqueChar("vdctdvc"); --> t function firstUniqueChar(str){ var str = str || "", i = 0, k = "", _char = "", charMap = {}, result = {name: "",i
-
javascript 返回数组中不重复的元素
这是实现结构伪类type-of-type的部分代码: var ret= ["span","span","strong","span","b"] var norepeat = function(array){ var set = array.join(",")+","; while(array.length){ var el = array.shift(); set =
-
JavaScript实现查找字符串中第一个不重复的字符
此算法仅供参考,小菜基本不懂高深的算法,只能用最朴实的思想去表达. 复制代码 代码如下: //找出字符串中第一个不重复的字符 // firstUniqueChar("vdctdvc"); --> t function firstUniqueChar(str){ var str = str || "", i = 0, k = "", _char = "",
-
Javascript 去除数组的重复元素
我打开firebug的console,花了30秒想,30秒写,结果如下:(x为目标数组,y是去除重复元素后的结果) 复制代码 代码如下: var x=[1,1,3,4,5,3]; var y=[]; var tArray=function(i,arr){ var yap=false; for(var j=0;j<arr.length;j++){ if(arr[j]==i){yap=true;break;}; } if(!yap) arr.push(i); }; for(var t=0;t<x.
-
JavaScript去掉数组中的重复元素
在写程序过程中,经常会遇到去除数组中重复元素的需求.要实现这个功能其实并不难. 我们可以用一个两重循环来实现,对于小的数组,这样做当然并无不妥. 但如果我们的数组比较大,里面的元素有上万个.那么用两重循环,效率是极为低下. 下面我们就用js的特性,编写一个高效去除数组重复元素的方法. 复制代码 代码如下: <script> function unique(data){ data = data || []; var a = {}; for (var i=0; i<data.length;
-
javascript如何判断数组内元素是否重复的方法集锦
var str = new Array(); 比如有这么一组数组,里面放了20个18位的身份证号码 要判断里面的身份证号码是否有重复 如何快速判断? 复制代码 代码如下: var ary = new Array("111","22","33","111"); var s = ary.join(",")+","; for(var i=0;i<ary.len
-
javascript获取重复次数最多的字符
javascript获取重复次数最多的字符 /** 取出字符串中重复字数最多的字符 */ var words = 'sdfghjkfastgbyhnvdstyaujskgfdfhlaa'; //创建字符串 var word, //单个字符 length; //该字符的长度 //定义输出对象 var max = { wordName : '', //重复次数最多的字符 wordLength : 0 //重复的次数 }; //递归方法,传入字符串 (function(words) { if (!wo
-
如何利用JavaScript获取字符串中重复次数最多的字符
目录 题目 分析 使用对象 解题思路: 代码实现如下: 分析: 数组&指针 解题思路: 代码实现如下: 分析: 总结 想要保持自己的技术活力,最有效的手段就是通过不断地输入来提供足够的养分.我们也不必刻意追求高深的或者新鲜的知识点,通过对一个基础问题的全方位多维度解析,同样也会收获不小. 题目 假设有这么一道题目:请获取字符串 "bianchengsanmei,xuexiyouqudezhishi,jieshiyouqudepengyou,suzaoyouqudelinghun.&quo
-
教你JavaScript利用charAt()统计出现次数最多的字符和次数
之前给大家介绍过简介JavaScript中charAt()方法的使用,今天通过本文给大家分享js统计次数最多的字符和次数的实例代码,具体内容如下所示: 判断一个字符串'aabcdobdackoppz'中出现次数最多的字符,并统计其次数 首先我们需要了解一个知识点:(如何判断对象里有该属性) // 有一个对象,来判断是否有该属性 // 写法:对象['属性名'] var o = { age : 18 , sex : '男' } if(o['sex']){ console.log('里面有该属性');
-
JavaScript实现计算字符串中出现次数最多的字符和出现的次数
"计算出字符串中出现次数最多的字符是什么,出现了多少次?" 看到这个需求,我想大多数人应该首先想到的是转换成数组,再做处理,当然是可以解决问题的,然后这里提供一个巧妙的算法设计,无需转数组,可以很快解决问题,代码如下: 复制代码 代码如下: var str = "adadfdfseffserfefsefseeffffftsdg"; var maxLength = 0; var result = ""; while(str!=''){ ol
-
JS查找字符串中出现次数最多的字符
在一个字符串中,如 'zhaochucichuzuiduodezifu',我们要找出出现最多的字符.本文章将详细说明方法思路. 先介绍两个string对象中的两个方法:indexOf()和charAt()方法 indexOf()方法介绍 返回某个指定的字符串值在字符串中首次出现的位置 charAt()方法介绍 返回某个指定位置的字符 先做一个小测试,找到字符串'woainixiaoli'中的每一个'i'出现的位置. <script> var arr = 'woainixiaoli'; var
-
JS中判断字符串中出现次数最多的字符及出现的次数的简单实例
JS中判断字符串中出现次数最多的字符及出现的次数的简单实例 <script type="text/javascript"> var str = 'qwertyuilo.,mnbvcsarrrrrrrrtyuiop;l,mhgfdqrtyuio;.cvxsrtyiuo'; var json = {}; //遍历str拆解其中的每一个字符将其某个字符的值及出现的个数拿出来作为json的kv for (var i = 0; i < str.length; i++) { //
-
一个字符串中出现次数最多的字符 统计这个次数【实现代码】
var str = 'asdfssaaasasasasaa'; var json = {}; for (var i = 0; i < str.length; i++) { if(!json[str.charAt(i)]){ json[str.charAt(i)] = 1; }else{ json[str.charAt(i)]++; } }; var iMax = 0; var iIndex = ''; for(var i in json){ if(json[i]>iMax){ iMax = j
-
Python实现计算字符串中出现次数最多的字符示例
本文实例讲述了Python实现计算字符串中出现次数最多的字符.分享给大家供大家参考,具体如下: 1. 看了网上挺多写的方法都没达到我所需要的效果,我干脆自己写了个方法共享给大家 ee = 'aa111(((bbhhhhhh%jjjjjj%(ccc((vvvv22' cc='11222333' def max_letter_count(n): list4 = [] list1 = [] list2 = [] for i in n: list3 = [] count_max = n.count(i)
-
Js查找字符串中出现次数最多的字符及个数实例解析
如sssfgtdfssddfsssfssss,出现最多的字符是s,出现了12次 传统写法 分析: 1.准备一个空的json,通过循环字符串的每个字符来看,如果json里没有这个字符,就在json里创建一个新的数组,并把这个字符放进数组里,如果json里有这个字符,继续把字符添加进数组里,这时循环完json里有n个数组 2.找出json里长度最长的数组,此时长度即个数,而最多的字符就是这个参数,用到for...in...循环和参数attr var str="sssfgtdfssddfsssfsss
-
C++找出字符串中出现最多的字符和次数,时间复杂度小于O(n^2)
已知字符串"aabbbcddddeeffffghijklmnopqrst"编程找出出现最多的字符和次数,要求时间复杂度小于O(n^2) /******************************************************** Copyright (C), 2016-2017, FileName: main9 Author: woniu201 Description:求字符串中出现次数最多的字符和次数 ******************************
随机推荐
- 浅谈Angular路由复用策略
- vbscript LoadPicture函数使用方法与漏洞利用
- 使用linq to xml修改app.config示例(linq读取xml)
- python抓取京东商城手机列表url实例代码
- Python Web框架Flask下网站开发入门实例
- ASP,vbs正则轮翻在文章段落后加上网址等内容
- Win下Mysql5.6升级到5.7的方法
- jq的get传参数在utf-8中乱码问题的解决php版
- jQuery中的ajax async同步和异步详解
- 查看源码的工具 学习jQuery源码不错的工具
- 用户代理字符串userAgent可实现的四个识别
- jquery datepicker参数介绍和示例
- 讨论html与javascript在浏览器中的加载顺序问题
- JS如何判断移动端访问设备并解析对应CSS
- 针对系统“内存不足”的解决之道
- C# WinForm开发中使用XML配置文件实例
- centos 7中添加一个新用户并授权的步骤详解
- 一个小示例告诉你Python语言的优雅之处
- asp.net之生成验证码的方法集锦(一)
- 微博短链接算法php版本实现代码