题解 | #字符串出现次数的TopK问题#

字符串出现次数的TopK问题

http://www.nowcoder.com/practice/fd711bdfa0e840b381d7e1b82183b3ee

 * return topK string
 * @param strings string字符串一维数组 strings
 * @param k int整型 the k
 * @return string字符串二维数组
 */
function topKstrings( strings ,  k ) {
    // write code here
    let obj={}
    let res=[]
    strings.sort()
    for(let i=0;i<strings.length;i++){
        if(obj.hasOwnProperty(strings[i])){
            obj[strings[i]]++;
        }
        else{
            obj[strings[i]]=1
        }
    }
    for(var key in obj){
        let arr2=[]
            arr2.push(key,obj[key])
            res.push(arr2)
    }
    res.sort(function(a,b){
      if(a[1]==b[1]){
        if(a[0]<b[0])return-1
        else return 1
      }
      else{return b[1]-a[1]}
    })
    res.splice(k)
    return res
}
module.exports = {
    topKstrings : topKstrings
};
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-07 12:04
毕业生招你惹你了,问一个发薪日来一句别看网上乱七八糟的你看哪个工作没有固定发薪日扭头就取消了面试就问了一句公司都是这个态度吗还搞上人身攻击了...
程序员小白条:呃呃呃,都还没面试,我都不会问这么细,何况通不通过,去不去都另说,你没实力和学历的话,在外面就这样,说实话没直接已读不回就不错了,浪费时间基本上
点赞 评论 收藏
分享
头顶尖尖的程序员:我是26届的不太懂,25届不应该是找的正式工作吗?为什么还在找实习?大四还实习的话是为了能转正的的岗位吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务