leetcode Day51 剑指专项 66-69

85 阅读1分钟

剑指 Offer II 066. 单词之和

var MapSum = function() {
    this.map=new Map()
};

/** 
 * @param {string} key 
 * @param {number} val
 * @return {void}
 */
MapSum.prototype.insert = function(key, val) {
    this.map.set(key,val)
};

/** 
 * @param {string} prefix
 * @return {number}
 */
MapSum.prototype.sum = function(prefix) {
    let res=0
    for(let i of this.map.keys()){
        if(i.startsWith(prefix)){
            res+=this.map.get(i)
        }
    }
    return res
};

剑指 Offer II 068. 查找插入位置

var searchInsert = function(nums, target) {
    let l=0,r=nums.length-1
    let ans=nums.length
    while(l<=r){
        let mid=l+Math.floor((r-l)/2)
        if(target>nums[mid]){
            l=mid+1
        }else{
            ans=mid
            r=mid-1
        }
    }
    return ans
};

剑指 Offer II 069. 山峰数组的顶部

var peakIndexInMountainArray = function(arr) {
    return arr.indexOf(Math.max(...arr))
};