LeetCode 361. Bomb Enemy 中文解释 Chinese Version

แชร์
ฝัง
  • เผยแพร่เมื่อ 16 ธ.ค. 2024

ความคิดเห็น • 18

  • @dr_920
    @dr_920 4 ปีที่แล้ว +1

    这个方法确实太舒服了。每一行只需要算一次,如果遇到w,先算前半部分,w后半部分等到了w那一列才需要继续算。每一列的操作也是同理,之所以可以用一个常数算行,一个数组算列,是因为遍历的顺序。如果先遍历列,再遍历行,也可以用一个常数统计列,一个数组统计行。与用4个矩阵来算上下左右那个方法不一样的是,这个方法只需要遍历棋盘2次,而不是5次。
    如果有人和我一样,一开始对于视频主说的方法不太理解的话,可以先从brute force入手。
    然后理解为什么会有重复计算,进而选用用4个矩阵记录上下左右的累计敌人数。
    最后再来理解视频主的方法,可以先快进看代码,自己手动过一遍,理解了再听一遍,效果更佳。

  • @JH-dg9kl
    @JH-dg9kl 4 ปีที่แล้ว

    这个 complexity 应该是o(mn*(m+n)), 讲的太好了

    • @dr_920
      @dr_920 4 ปีที่แล้ว

      brute force是你这个time complexity。题目里面就不是了。

  • @knimr3
    @knimr3 5 ปีที่แล้ว

    可是这题网上的做法是O(MN)?就算用prefix sum做四遍也是O(MN)

  • @includeno
    @includeno 5 ปีที่แล้ว

    🤔姐姐是每周4题?不是每日一题?🤔🤔🤔

    • @happygirlzt
      @happygirlzt  5 ปีที่แล้ว +1

      ...我正在录视频🤔以后打算一周四个视频🤔

    • @includeno
      @includeno 5 ปีที่แล้ว

      happygirlzt 😔我也想以后刷题做视频啊 😷有什么建议吗?姐姐的视频都是一次性录制成功吗?🙃

    • @happygirlzt
      @happygirlzt  5 ปีที่แล้ว

      @@includeno 基本上都是吧😂建议就是。。开始了就别停止啊。ヾ(◍°∇°◍)ノ゙加油~

    • @includeno
      @includeno 5 ปีที่แล้ว

      happygirlzt 😇那了解了 9月以后我要957了 我去好好规划一下时间 视频上线前发你看看🥺

    • @happygirlzt
      @happygirlzt  5 ปีที่แล้ว

      @@includeno 建议露脸!!!露脸看的人多!!😏

  • @francischiang6820
    @francischiang6820 5 ปีที่แล้ว

    看完了还是没办法理解怎么去除重复计算的

    • @happygirlzt
      @happygirlzt  5 ปีที่แล้ว +2

      对于一个'0',你要计算它左边,右边,上边,下边的敌人数。然后我们用rows计算从左到右的敌人数,cols j计算从上到下的敌人数。所以每次遇到一个‘0’的时候,我们只是计算了右边和下边的敌人了。避免了左边和上边的重复计算。。

    • @garychen0592
      @garychen0592 5 ปีที่แล้ว +3

      我的理解是只能去除上和左的,下和右的每次还是都要算

  • @includeno
    @includeno 5 ปีที่แล้ว

    🦄抢座位了

  • @garychen0592
    @garychen0592 5 ปีที่แล้ว

    思路很清楚易懂,优秀