蘑菇街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);
上一篇:Java题库——chapter7 多维数组


下一篇:生成随机字符(公共方法)