给定随机字符串'adadfdfseffserfefsefseeffffftsdg',求每个字母在字符串中出现次数?
js实现:
另外相同问题:
一个长度为十万的字符串数组,求数组其中相同字符串个数?
[color=blue]在不考虑效率情况下(实测长度为1千万数组在循环情况下执行时间小于1s),我的思路是:
先将数组转化为字符串排序sort(function(a,b){return a.localComapre(b);}),然后join(','),最后用上述方法去取得不同字符串个数replace(/\b\a(\,|\b)/g,'')。具体实现希望高手指点?[/color]
参考:
[url]http://www.planabc.net/2007/09/05/which_letter_most_times/[/url]
js实现:
var str = "adadfdfseffserfefsefseeffffftsdg";
(function(str){
var l = str, result = {};
while(l){ // if this l exists
var _st = l.substr(0,1);
var m = l.replace(new RegExp(_st,'gi'),'');
result[_st] = l.length - m.length;
l = m;
}
return result;
})(str);
另外相同问题:
一个长度为十万的字符串数组,求数组其中相同字符串个数?
[color=blue]在不考虑效率情况下(实测长度为1千万数组在循环情况下执行时间小于1s),我的思路是:
先将数组转化为字符串排序sort(function(a,b){return a.localComapre(b);}),然后join(','),最后用上述方法去取得不同字符串个数replace(/\b\a(\,|\b)/g,'')。具体实现希望高手指点?[/color]
参考:
[url]http://www.planabc.net/2007/09/05/which_letter_most_times/[/url]