蘑菇街2019届校招前端笔试算法题

题目描述

编写一个js函数,传入一个非空字符串,计算出现次数最多的字符,返回该字符及 出现次数,结果可能包含多个字符。如传入“xyzzyxyz”,则返回:{y:3, z:3}

我的答案

	var str = "xyzzyxyz";
	var charArray = str.split("");
	var obj = {};//用来存下所有的键和值
	var max = 0;//用来记录下出现最多的次数是多少。
	var result = {};
	while(charArray.length!=0)
	{
		var c = charArray.shift();
		var count = 1;
		if(!obj.hasOwnProperty([c]))
		{
			for(var i = 0; i<charArray.length; i++)
			{
				if(charArray[i]==c)
				{
					count++;
				}
			}
			obj[c]=count;
			if(count > max)
			{
				max = count;
			}
		}
	}
	for(var key in obj)
	{
		if(obj[key]===max)
		{
			result[key]=max;
		}
	}
	console.log(result);
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值