程序员面试金典---19

交换数字

/**
 * @param {number[]} numbers
 * @return {number[]}
 */
var swapNumbers = function(numbers) {
    numbers.push(numbers.splice(0,1))
    return numbers
};

// 二
var swapNumbers = function(numbers) {
   numbers[0] =numbers[0]^numbers[1];
   numbers[1] =numbers[0]^numbers[1];
   numbers[0]=numbers[0]^numbers[1];
   return numbers;
};

单词频率’

思路:

reduce+哈希

/**
 * @param {string[]} book
 */
var WordsFrequency = function(book) {
    this.book = book.reduce((pre,item)=>{
        pre[item] = !pre[item]? 1 : pre[item] + 1
        return pre
    },{})
};

/** 
 * @param {string} word
 * @return {number}
 */
WordsFrequency.prototype.get = function(word) {
    return this.book[word] || 0
};

/**
 * Your WordsFrequency object will be instantiated and called as such:
 * var obj = new WordsFrequency(book)
 * var param_1 = obj.get(word)
 */
posted @   楸枰~  阅读(9)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示