首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  程序员

Leetcode - 383 赎金信

  •  
  •   Northxw · 26 天前 · 1105 次点击

      这是一道简单题,但是我也会尽可能的把它做好,代码提及已经通过,但是我自己产生一个疑惑。下面是我第一次提交的代码(耗时 64ms):

    class Solution:
        def canConstruct(self, ransomNote, magazine):
            rans = ransomNote.replace('', ' ').split()
            mags = magazine
            for i in range(len(ransomNote)):
                if rans[i] in mags:
                    mags = mags.replace(rans[i], '',1)
                    rans[i] = ''
    
            if not ''.join(rans):
                return True
            return False
    

      可以看到,mags 对 magazine 做了引用,然后,修改代码如下:

    class Solution:
        def canConstruct(self, ransomNote, magazine):
            rans = ransomNote.replace('', ' ').split()
            for i in range(len(ransomNote)):
                if rans[i] in mags:
                    magazine = magazine.replace(rans[i], '',1)
                    rans[i] = ''
    
            if not ''.join(rans):
                return True
            return False
    

      再次提交后,代码耗时达到 96ms。 按道理,引用虽然没开辟新内存,但耗时相差也不会这么大啊,求解。

    8 回复  |  直到 2019-03-26 10:01:13 +08:00
        1
    shiji   26 天前
    Leetcode 的运行时间不是很靠谱,100%内的误差不算啥。

    内存也一样。 我用 PHP 刷题内存基本都稳定在 14-16M 左右。
        2
    Northxw   26 天前 via Android
    @shiji emmm... 如果这样的话, 就是个 bug😁
        3
    roundRobin   26 天前
    要养成只看复杂度的习惯。。。排名 top1%和 99%很可能时间空间复杂度都是一样的
        4
    Northxw   26 天前 via Android
    @roundRobin 谢谢啦
        5
    jiezhi   26 天前 via iPhone
    同样,我优化过的代码排名更低了,迷一样。

    可能非订阅用户,执行环境随便给的?
        6
    Northxw   26 天前 via Android
    @jiezhi 不懂
        7
    luomu24   26 天前
    用的中文版吗。最近 leetcode 的运行时间就是个迷。不靠谱。
        8
    Northxw   26 天前 via Android
    @luomu24 嗯啊。是 CN。还行吧, 看着也比较亲切。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2171 人在线   最高记录 4385   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 16ms · UTC 07:15 · PVG 15:15 · LAX 00:15 · JFK 03:15
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1