764 最大加號標誌

2021-10-11 09:25:30 字數 783 閱讀 1417

這道題看起來題目挺唬人的,其實和機械人走方格時一道題,只是狀態轉移方程不同。

我開始打算用遞迴寫,每個節點尋求其四個方向上的節點的加號標誌,這樣的話會形成無線遞迴,用矩陣的四個邊界根本封不住,類似於a節點去找b節點,求解b節點的時候反過來還需要去找a節點,這種無限遞迴不是太好發現,直到棧溢位才發現。

我換了思路,每個節點十字的個數並不應該把四周節點的十字個數求出來,只需要求出上面節點的上面有幾個就行。比如a節點上面的b節點是1,b的上面有兩個1,b的右邊是0,對於b來說,它的十字個數是1,因為只有自己才能形成,但是對於a節點來說,他只關心豎直方向上有幾個1,至於b的十字個數等於幾並無所謂。這樣做的話,需要左上到右下一波,右下到左上再來一波,就能把每個節點的上下左右都算出來,每個節點的加號數等於上下左右的最小值,所有節點取個max就ok了。

還有,注意第40行,我是有oj沒過才發現的這個問題。這個初始值不能等於0,因為這種寫法,basecase中的可能性沒算呢,如果把mmax傳進basecase中看起來**就很亂,正好n和mines是有關係的,索性就這麼處理了。

class solution ;

node(int _node):left(_node),right(_node),up(_node),down(_node){};

int minnum(void) };

void basecase(vector>&a, vector>&b)

mmax = max(mmax, b[i][j].minnum());

} }return mmax;

}};

Leetcode 764 最大加號標誌

在乙個大小在 0,0 到 n 1,n 1 的2d網格 grid 中,除了在 mines 中給出的單元為 0,其他每個單元都是 1。網格中包含 1 的最大的軸對齊加號標誌是多少階?返回加號標誌的階數。如果未找到加號標誌,則返回 0。乙個 k 階由 1 組成的 軸對稱 加號標誌具有中心網格 grid x...

LeetCode 動態規劃 最大加號標誌

在乙個大小在 0,0 到 n 1,n 1 的2d網格grid中,除了在mines中給出的單元為0,其他每個單元都是1。網格中包含1的最大的軸對齊加號標誌是多少階?返回加號標誌的階數。如果未找到加號標誌,則返回 0。乙個k 階由1組成的 軸對稱 加號標誌具有中心網格grid x y 1,以及4個從中心...

DP,迷宮,最大加權路徑 命運

命運 problem description 穿過幽谷意味著離大魔王lemon已經無限接近了!可誰能想到,yifenfei在斬殺了一些蝦兵蟹將後,卻再次面臨命運大迷宮的考驗,這是魔王lemon設下的又乙個機關。要知道,不論何人,若在迷宮中被困1小時以上,則必死無疑!可憐的yifenfei為了去救mm...