鶴立雞群 滑動窗口的最大值 Leetcode #2373

閱讀時間約 3 分鐘

題目敘述

給定一個方陣grid,請計算每個3x3窗口內的最大值,並且也以方陣的形式輸出答案。


原本的英文題目敘述


測試範例

Example 1:

Input: grid = [[9,9,8,1],[5,6,2,6],[8,2,6,4],[6,2,2,2]]
Output: [[9,9],[8,6]]
Explanation: The diagram above shows the original matrix and the generated matrix.
Notice that each value in the generated matrix corresponds to the largest value of a contiguous 3 x 3 matrix in grid.

Example 2:

Input: grid = [[1,1,1,1,1],[1,1,1,1,1],[1,1,2,1,1],[1,1,1,1,1],[1,1,1,1,1]]
Output: [[2,2,2],[2,2,2],[2,2,2]]
Explanation: Notice that the 2 is contained within every contiguous 3 x 3 matrix in grid.

約束條件

Constraints:

  • n == grid.length == grid[i].length

輸入矩陣grid一定是方陣。

  • 3 <= n <= 100

輸入矩陣的邊常介於 3 ~ 100之間。

  • 1 <= grid[i][j] <= 100

陣列元素介於1~100之間。


演算法 模擬法

依題意進行模擬,從左到右,由上到下,掃描過每個3x3窗口,將每個窗口的最大值儲存起來。


程式碼 模擬法

class Solution:
def largestLocal(self, grid: List[List[int]]) -> List[List[int]]:
n = len(grid)
res = []

# on each grid cell
for i in range(n - 2):
ans = []
for j in range(n - 2):

max_value = 0

# scan each 3x3 sliding window
for a in range(i, i + 3):
for b in range(j, j + 3):
max_value = max(max_value, grid[a][b])

# save maximal value
ans.append(max_value)

res.append(ans)
return res

複雜度分析

時間複雜度: O(n^2)

n^2個格子點,每個格子點要掃描3x3固定尺寸大小的滑動窗口。


空間複雜度: O(n^2)

輸出空間O( (n-2)^2)和輸入order相同,皆為O(n^2)


關鍵知識點

滑動窗口大小固定,依照題意進行模擬即可。

如果滑動窗口比較大,可以使用單調隊列加速。


Reference

[1] Largest Local Values in a Matrix - LeetCode

86會員
425內容數
由有業界實戰經驗的演算法工程師, 手把手教你建立解題的框架, 一步步寫出高效、清晰易懂的解題答案。 著重在讓讀者啟發思考、理解演算法,熟悉常見的演算法模板。 深入淺出地介紹題目背後所使用的演算法意義,融會貫通演算法與資料結構的應用。 在幾個經典的題目融入一道題目的多種解法,或者同一招解不同的題目,擴展廣度,並加深印象。
留言0
查看全部
發表第一個留言支持創作者!
輸入給定一個已經從小到大排序好,而且彼此互質的整數陣列, 請問任取兩數分別當作分子、分母,第k小的分數是多少? 輸出請以 [分子,分母] 的形式回傳答案。
題目敘述 輸入給定一個整數陣列,分別代表每小朋友的快樂值。 要求我們選擇其中最快樂的k位小朋友,累加這群小朋友的快樂值。 有一個特殊的規則,第一位選中的小朋友快樂值不變。 接著,第二位選中的小朋友快樂值-1 再接著,第三位選中的小朋友快樂值-2 快樂值扣到只剩下0就不再往下扣 .
題目敘述 輸入給定一個整數陣列,分別代表每位運動員在比賽中的成績。 分數最高的給予金牌"Gold Medal" 分數次高的給予金牌"Silver Medal" 分數第三高的給予金牌"Bronze Medal" 剩餘的名次依照順序給予"4", "5", ..., "n" 的編號。 輸出時以字串
題目敘述 輸入給定一個鏈結串列,整體看代表一個十進位的數字,各別看每個節點代表每個digit,分別從最高位~最低位個位數。 要求我們把原本的數字乘以二,並且以鏈結串列的形式返回答案。 原本的英文題目敘述
題目敘述 題目給定一個鏈結串列中的節點Node,要求我們從鏈結串列中刪除該節點。 題目保證該節點不是tail node。 題目要求我們in-place原位操作。 原本的英文題目敘述 測試範例 Example 1: Input: head = [4,5,1,9], node = 5
題目敘述 輸入給定一個鏈結串列的head node。 要求我們進行化簡,只要某個節點的右手邊存在比較大的節點,就刪除掉。 例如 5->2->13->3 5的右手邊有13,所以5刪除掉。 2的右手邊有13,所以2刪除掉。 13的右手邊沒有更大的節點,所以13留著。 3的右手邊沒有更大
輸入給定一個已經從小到大排序好,而且彼此互質的整數陣列, 請問任取兩數分別當作分子、分母,第k小的分數是多少? 輸出請以 [分子,分母] 的形式回傳答案。
題目敘述 輸入給定一個整數陣列,分別代表每小朋友的快樂值。 要求我們選擇其中最快樂的k位小朋友,累加這群小朋友的快樂值。 有一個特殊的規則,第一位選中的小朋友快樂值不變。 接著,第二位選中的小朋友快樂值-1 再接著,第三位選中的小朋友快樂值-2 快樂值扣到只剩下0就不再往下扣 .
題目敘述 輸入給定一個整數陣列,分別代表每位運動員在比賽中的成績。 分數最高的給予金牌"Gold Medal" 分數次高的給予金牌"Silver Medal" 分數第三高的給予金牌"Bronze Medal" 剩餘的名次依照順序給予"4", "5", ..., "n" 的編號。 輸出時以字串
題目敘述 輸入給定一個鏈結串列,整體看代表一個十進位的數字,各別看每個節點代表每個digit,分別從最高位~最低位個位數。 要求我們把原本的數字乘以二,並且以鏈結串列的形式返回答案。 原本的英文題目敘述
題目敘述 題目給定一個鏈結串列中的節點Node,要求我們從鏈結串列中刪除該節點。 題目保證該節點不是tail node。 題目要求我們in-place原位操作。 原本的英文題目敘述 測試範例 Example 1: Input: head = [4,5,1,9], node = 5
題目敘述 輸入給定一個鏈結串列的head node。 要求我們進行化簡,只要某個節點的右手邊存在比較大的節點,就刪除掉。 例如 5->2->13->3 5的右手邊有13,所以5刪除掉。 2的右手邊有13,所以2刪除掉。 13的右手邊沒有更大的節點,所以13留著。 3的右手邊沒有更大
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
Thumbnail
《鶴唳華亭》由羅晉、李一桐、黃志忠與鄭業成領銜主演,是一部以皇帝與太子之間的矛盾為主線,以儒家思想為倫理觀,劇情涉及官場積弊、權臣專擅、兵權旁落、皇子爭位、復仇平反……等題材,是一部製作精良、服化道高質的古裝權謀愛情戲。 演員陣容,從飾演男女主角的羅晉(蕭定權)與李一桐(陸文昔)、
Thumbnail
前言 麩胺酸是一種胺基酸,它是生物體內各種蛋白質的組成成分之一,同時在神經傳遞中扮演關鍵角色。過高的麩胺酸濃度可能干擾神經元傳遞,使大腦運作變得吃力,思考也變得遲緩。 科學家推測,長時間累積的麩胺酸可能造成大腦積累過多的廢棄物,進而引發疲憊的幻覺,促使我們休息以清理腦中的廢物。 皮質醇的雙面性
Thumbnail
【胖犬導讀】 這陣子在中國的外資可說是人心惶惶。 包括貝恩(Bain)在內的國際知名顧問公司紛紛遭到中國政府的盡職調查(due diligence investigation),隨著中美關係持續惡化,下一步會是什麼? 習近平指派中國國家安全部長陳一新親自操刀此事,背後的政治意涵為何? 從1978年的
Thumbnail
鶴立雞群,感覺是個很正面的成語,代表優秀的人在群體中特別突出;但換個角度思考,我們應該換群體了,因為身旁的人遠遠落後於你。你不再被打擊,不再有落後的危機感。 寧願在富人堆中當窮人,也不在窮人堆裡當富人 小心,遠離鮮花與鼓掌 圈子不大,成就難成 那我們該如何做? 1.每到一座山,就盡力爬到山頂
Thumbnail
這一切日見開放寬鬆,看似就要回到常軌的北京出遊日常,卻在幾天內再度宣告中止,正如那日前往故宮途中一路武警透出的微妙戒備感,風聲鶴唳,草木皆兵。小區回到封閉式管理,很久不見的出入證又得翻出來用,跨省行程全面取消,非必要不得離京,需有核酸檢測證明才能進機場等等
Thumbnail
曾有一段時間,人們無法自由談論,自由閱讀書籍,自由繪畫,隨心所欲批評時政,自由聽想聽的歌,自由上街集會遊行,三十二年前,民國七十六年,蔣經國總統宣布解嚴,在鐵幕下壓抑多時的能量才終於釋放。
Thumbnail
豆豆發芽難易程度:★★★★★博士班 (★幼幼班 ★★中班 ★★★大班 ★★★★學士班 ★★★★★博士班) 豆豆叮嚀: ★立鶴花果實成熟為紫黑色朔果,去果核後, 裡面為黑色一兩顆不等。 豆媽小語: ★立鶴花為爵床科植物, 紫色的花幾乎一整年都看的到, 公園學校常種植為觀賞植物。 立鶴花近熟果 立鶴花熟
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
Thumbnail
《鶴唳華亭》由羅晉、李一桐、黃志忠與鄭業成領銜主演,是一部以皇帝與太子之間的矛盾為主線,以儒家思想為倫理觀,劇情涉及官場積弊、權臣專擅、兵權旁落、皇子爭位、復仇平反……等題材,是一部製作精良、服化道高質的古裝權謀愛情戲。 演員陣容,從飾演男女主角的羅晉(蕭定權)與李一桐(陸文昔)、
Thumbnail
前言 麩胺酸是一種胺基酸,它是生物體內各種蛋白質的組成成分之一,同時在神經傳遞中扮演關鍵角色。過高的麩胺酸濃度可能干擾神經元傳遞,使大腦運作變得吃力,思考也變得遲緩。 科學家推測,長時間累積的麩胺酸可能造成大腦積累過多的廢棄物,進而引發疲憊的幻覺,促使我們休息以清理腦中的廢物。 皮質醇的雙面性
Thumbnail
【胖犬導讀】 這陣子在中國的外資可說是人心惶惶。 包括貝恩(Bain)在內的國際知名顧問公司紛紛遭到中國政府的盡職調查(due diligence investigation),隨著中美關係持續惡化,下一步會是什麼? 習近平指派中國國家安全部長陳一新親自操刀此事,背後的政治意涵為何? 從1978年的
Thumbnail
鶴立雞群,感覺是個很正面的成語,代表優秀的人在群體中特別突出;但換個角度思考,我們應該換群體了,因為身旁的人遠遠落後於你。你不再被打擊,不再有落後的危機感。 寧願在富人堆中當窮人,也不在窮人堆裡當富人 小心,遠離鮮花與鼓掌 圈子不大,成就難成 那我們該如何做? 1.每到一座山,就盡力爬到山頂
Thumbnail
這一切日見開放寬鬆,看似就要回到常軌的北京出遊日常,卻在幾天內再度宣告中止,正如那日前往故宮途中一路武警透出的微妙戒備感,風聲鶴唳,草木皆兵。小區回到封閉式管理,很久不見的出入證又得翻出來用,跨省行程全面取消,非必要不得離京,需有核酸檢測證明才能進機場等等
Thumbnail
曾有一段時間,人們無法自由談論,自由閱讀書籍,自由繪畫,隨心所欲批評時政,自由聽想聽的歌,自由上街集會遊行,三十二年前,民國七十六年,蔣經國總統宣布解嚴,在鐵幕下壓抑多時的能量才終於釋放。
Thumbnail
豆豆發芽難易程度:★★★★★博士班 (★幼幼班 ★★中班 ★★★大班 ★★★★學士班 ★★★★★博士班) 豆豆叮嚀: ★立鶴花果實成熟為紫黑色朔果,去果核後, 裡面為黑色一兩顆不等。 豆媽小語: ★立鶴花為爵床科植物, 紫色的花幾乎一整年都看的到, 公園學校常種植為觀賞植物。 立鶴花近熟果 立鶴花熟