题解 | #字符串出现次数的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
};
全部评论

相关推荐

剑桥断刀:找啥工作,牛客找个比如大厂软开或者随便啥的高薪牛马,大把没碰过妹子的技术仔,狠狠拿捏爆金币
点赞 评论 收藏
分享
有没有友友知道这样是开启下一个志愿还是在池子里等人捞
早饭有梨:为什么有的是回到人才池,有的是变成筛选中,我二面挂直接变回筛选中了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务