美文网首页
LintCode冏的生意

LintCode冏的生意

作者: Sczlog | 来源:发表于2019-02-15 10:02 被阅读0次

约翰的生意
在一条数轴上,有n个城市,编号从0 ~ n – 1 , 约翰打算在这n个城市做点生意,他对Armani的一批货物感兴趣,每个城市对于这批货物都有一个价格prices[i]。对于城市x,约翰可从城市编号为[x - k, x + k]购买货物,然后卖到城市x,问约翰在每个城市最多能赚到多少钱?
样例
给出 prices = [1, 3, 2, 1, 5], k = 2,返回 [0, 2, 1, 0, 4]。

TLE暴力版:

// O(2 * n * k * log2k)
const business = function (A, k) {
    var result = [];
    for(var i = 0;i<A.length;i++){
        var start = i - k > 0? i-k:0;
        var minPrice = Math.min.apply(this,A.slice(start,i+k));
        var profit = Math.max((A[i] - minPrice),0);
        result.push(profit);
    }
    return result;
}

改进版,没有AC有WA,但是我没找到算法的问题,先写上来了:

// O(2n +2n * log2k)
const business = function (A, k) {
    var result = [];
    for(let i = 0;i<A.length;i+=k){
        let min = Math.min.apply(null,A.slice((i - k > 0? i-k:0),i+k));
        for(let j = -k;j<k;j++){
            if(j+i<0){
                j = -i;
            }else if(j+i>A.length){
                break;
            }
            if(!result[j+i] || !result[j+i]>=min){
                result[j+i]=min;
            }
        }
    }
    A.forEach((x,i)=>{
        A[i] = x-result[i];
    })
    return A;
}

在k>1的情况下
(1+log2k)<<(k * log2k)

相关文章

  • LintCode冏的生意

    约翰的生意在一条数轴上,有n个城市,编号从0 ~ n – 1 , 约翰打算在这n个城市做点生意,他对Armani的...

  • 生意场上的冏事

    齐帆齐微课 转眼回家乡创业十余载,跟形形色色的顾客打过交道,遇到过各种各样的人,经历过各种各样的事,有道是,一样米...

  • <<冏妈>>,冏在哪里?

    <<冏妈>>,冏在哪里? ———金春荣 庚子年大年初一,网上免费看<冏妈>。 ...

  • 程序员常用的刷题网站

    1、Lintcode Lintcode.com——LintCode网站是国内较大的在线编程&测评网站。此网站提供各...

  • 今天晚上在家心血来潮,创新做糖醋土豆,过程完全依照菜谱,可结果却完全不靠谱。 原料齐备,步骤严格遵循,出锅时,土豆...

  • 据说,前日霜降已过,也意味着深秋已临,凉意更甚。 飘飞的枯叶随意翻转,经常在行人道上只能做短暂的停留,一阵风过,又...

  • 我昨天上完班,箱子提到,桶被子放的保安室,我匆匆闪的外出…… 去123号,也没办成,…… 是出来挣钱时,最落迫的一...

  • 《冏妈》的槽点

    文/金中紫 看完《冏妈》,觉得山争哥的“冏”系列,只能到“冏妈”了。 往年春节,去院线看新片还可以拿出手机选一选,...

  • 齐王司马冏为什么死,是怎么死的?

    司马冏、司马颖、司马颙三王共同诛杀赵王司马伦和孙秀以后,司马冏率先进入洛阳。 各有封赏是必不可少的,司马冏任大司马...

  • Singleton

    lintcode: http://lintcode.com/en/problem/singleton/ Java ...

网友评论

      本文标题:LintCode冏的生意

      本文链接:https://www.haomeiwen.com/subject/ugtpeqtx.html