`
aroundworld2008
  • 浏览: 47727 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

web前端笔试一道面试题目新解

阅读更多
算出字符串中出现次数最多的字符是什么,出现了多少次
据说是百度的,个人认为百度公司的题目没有这么简单
这不知道是哪位网友给出的回答,答案是对的,但显然不要这么复杂!!
<script type=”text/javascript”>
//<![CDATA[var str ="adadfdfseffserfefsefseeffffftsdg"; //命名一个变量放置给出的字符串
var maxLength = 0; //命名一个变量放置字母出现的最高次数并初始化为0
var result = ''; //命名一个变量放置结果输入

while( str != '' ){ //循环迭代开始,并判断字符串是否为空
oldStr = str; //将原始的字符串变量赋值给新变量
getStr = str.substr(0,1); //用字符串的substr的方法得到第一个字符(首字母)
eval("str = str.replace(/"+getStr+"/g,'')"); //详细如补充

if( oldStr.length-str.length > maxLength )
{ //判断原始的字符串的长度减去替代后字符串长度是否大于之前出现的最大的字符串长度
maxLength = oldStr.length-str.length; //两字符串长度相减得到最大的字符串长度
result = getStr + "=" + maxLength //返回最大的字符串结果(字母、出现次数)
}
}

alert(result) //弹出结果
//]]>
</script>


我的解答:
	<script>
	var str = "adadfdfseffserfefsefseeffffftsdg"; //命名一个变量放置给出的字符串
	var result = {};
	for ( var i = 0; i < str.length; i++) {
		var c = str.charAt(i);
		if (result[c]) {
			result[c]++;
		} else {
			result[c] = 1;
		}
	}
	console.log(result);
	var max=0;
	var maxChar='';
	for ( var key in result) {
		if(result[key]>max){
			max=result[key];
			maxChar=key;
		}
	}
	console.log(maxChar);
	console.log(max);
</script>
分享到:
评论
3 楼 linux1689 2010-12-05  
面试前为啥不看看《编写高质量代码:Web前端开发修炼之道》和《大巧不工:Web前端设计修炼之道》呢?
2 楼 qgymje 2010-12-04  
var maxchar = function(s){
	var h = {},t = [0,''];
	for(var i = 0 , l = s.length; i < l ; i++){
		if(h[s[i]]){
			h[s[i]] += 1;
			if(h[s[i]] > t[0]){
				t[0] = h[s[i]];
				t[1] = s[i];
			}
		}else{
			h[s[i]] = 1;
		}
	}
	return t;
}
console.log(maxchar('adadfdfsedfsdfffserfefsefseeffffftsdg'));


我晕,看了一下,思路都一样的。。。
1 楼 wzweye 2010-12-02  
var str = "adadfdfseffserfefsefseeffffftsdg"; //命名一个变量放置给出的字符串
var result = {};
var max = 0;
var maxChar = '';
for ( var i = 0; i < str.length; i++) {
	var c = str.charAt(i);
	if (result[c]) {
		result[c]++;
                if(result[c] > max){
                    max = result[c];
                    maxChar = c;
                }
	} else {
		result[c] = 1;
	}
}
alert(max + ':' +maxChar)


这样应该就可以了!

相关推荐

Global site tag (gtag.js) - Google Analytics