为了账号安全,请及时绑定邮箱和手机立即绑定
首页 手记 数据结构与算法 JavaScirpt描述 第 4 天

数据结构与算法 JavaScirpt描述 第 4 天

2019.05.26 23:00 1039浏览

查找字符串中出现次数最多的单词

var str = "aabkxhsssseee";
function longest(str) {
            let m = {};
            for (let i = 0; i < str.length; i++) {
                let c = str.charAt(i);
                m[c] = m[c] ? m[c] + 1 : 1
            }
            let max = 'a'
            for (let i in m) {
                max = m[i] > m[max] ? i : max
            }
            return max
        }
console.log(longest(str))

刚开始拿到题目,我习惯性的想到了 filter,find 这些 ,用简单的性能测试函数看了一下,大概是命令式的3倍性能开销,由于JavaScript数组性能相对较低,也借鉴了使用对象标记的方式,然后用 基础的 for in 运算符 找到结果。

function testFn(fn, param) {
            var start = new Date().getTime();
            for (let i = 0; i < 100000; i++) {
                fn(param);
            }
            var end = new Date().getTime();
            console.log(fn.name + "耗时:" + (end - start) + "毫秒"); //IE不支持fn.name
}

后来是觉得这个函数测的不准确,搜了一下果然是有更准确的方法。。。同时又仔细想了一下,觉得这个阶段暂时没有时间和必要去搞得太深入。 网上搜到算法的,先自己实现一下,然后和人家的对比对比,心里有点B数就行😒。。 。。。

点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
Web前端工程师
手记
粉丝
30
获赞与收藏
83

关注TA,一起探索更多经验知识

同主题相似文章浏览排行榜

风间影月说签约讲师

51篇手记,涉及Java、MySQL、Redis、Spring等方向

进入讨论

Tony Bai 说签约讲师

151篇手记,涉及Go、C、Java、Python等方向

进入讨论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消