付費限定

字典應用: 計算相同的column row pairs_Leetcode 精選75題解析

閱讀時間約 6 分鐘

題目敘述

題目會給定我們一個二維陣列,要求我們計算內部元素相同的column row pairs總共有多少條?

註: pair的定義就是row i 和 column j 彼此內部元素值都相同,這樣就算一條pair。


題目的原文敘述


測試範例

Example 1:

raw-image
Input: grid = [[3,2,1],[1,7,6],[2,7,7]]
Output: 1
Explanation: There is 1 equal row and column pair:
- (Row 2, Column 1): [2,7,7]

Example 2:

raw-image
Input: grid = [[3,1,2,2],[1,4,4,5],[2,4,2,2],[2,4,2,2]]
Output: 3
Explanation: There are 3 equal row and column pairs:
- (Row 0, Column 0): [3,1,2,2]
- (Row 2, Column 2): [2,4,2,2]
- (Row 3, Column 2): [2,4,2,2]

約束條件

Constraints:

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

輸入陣列一定是方陣。

  • 1 <= n <= 200

方陣的邊長介於1 ~ 200之間。

  • 1 <= grid[i][j] <= 10^5

元素值都介於1 ~ 10^5 之間。


演算法

這題的關鍵在於把每條row和每條column都轉換為可hash的對象,並且儲存在字典裏面,統計出現次數。


又因為記憶體排列是row-major的關係,在讀取某個column j的時候,會先把矩陣grid作轉秩grid T,再讀取grid T的row j,會比較方便。

在python,有一個很實用的語法,可以很簡潔的實現矩陣轉秩的功能。

transpose = list( zip( *grid ) )
以行動支持創作者!付費即可解鎖
本篇內容共 2412 字、1 則留言,僅發佈於Leetcode精選75題 解析+統整你目前無法檢視以下內容,可能因為尚未登入,或沒有該房間的查看權限。
85會員
425內容數
由有業界實戰經驗的演算法工程師, 手把手教你建立解題的框架, 一步步寫出高效、清晰易懂的解題答案。 著重在讓讀者啟發思考、理解演算法,熟悉常見的演算法模板。 深入淺出地介紹題目背後所使用的演算法意義,融會貫通演算法與資料結構的應用。 在幾個經典的題目融入一道題目的多種解法,或者同一招解不同的題目,擴展廣度,並加深印象。
留言0
查看全部
發表第一個留言支持創作者!
題目敘述 題目會給定我們一個整數陣列asteroids,每個元素代表每顆星球的大小和飛行方向。 絕對值的部分越大,代表星球的大小越大。 若數值為正,代表星球向右飛。 若數值為負,代表星球向左飛。 當兩顆星球碰撞時,會有以下碰撞規則規定: 如果一顆比較大,另一顆比較小,則比較大的那棵
題目敘述 題目會給定我們兩個整數陣列作為輸入nums1, nums2,要求我們找出兩個陣列的差異值。 找出在nums1但是不在nums2的元素,以陣列的形式放在answer[0]輸出。 找出在nums2但是不在nums1的元素,以陣列的形式放在answer[1]輸出。 題目的原文敘述
題目敘述 題目會給我們一個整數陣列nums,要求我們計算平衡軸心點在哪? 平衡軸心的意思就是軸心點索引左側的元素總合 = 軸心點索引右側的元素總合 例如 整數陣列nums=[1,2,2,7,2,3] 7左側的元素總合為 1 + 2 + 2 = 5 7右側的元素總合為 2 + 3 = 5
題目敘述 假想一位自行車手正在公路旅行,旅行起始點從海拔為0的地方開始出發,給定每個紀錄點的高度位移向量陣列gain,請問整趟旅途中的海拔最高點是多少? 題目的原文敘述 測試範例 Example 1: Input: gain = [-5,1,5,0,-7] Output: 1 Expl
題目敘述 題目會給定一個二元陣列nums(也就是說,陣列元素只有0,1這兩種情況)。 我們必須從裡面選擇一個元素刪除之後,請問連續為1的最長子陣列的長度是多少? 測試範例 Example 1: Input: nums = [1,1,0,1] Output: 3 Explanation:
題目敘述 題目會給定一個二元陣列nums(也就是說,陣列元素只有0,1這兩種情況)和指定的k值。 我們最多可以把k個0反轉成1,請問連續唯一的最長子陣列的長度是多少? 題目的原文敘述 測試範例 Example 1: Input: nums = [1,1,1,0,0,0,1,1,1,1,
題目敘述 題目會給定我們一個整數陣列asteroids,每個元素代表每顆星球的大小和飛行方向。 絕對值的部分越大,代表星球的大小越大。 若數值為正,代表星球向右飛。 若數值為負,代表星球向左飛。 當兩顆星球碰撞時,會有以下碰撞規則規定: 如果一顆比較大,另一顆比較小,則比較大的那棵
題目敘述 題目會給定我們兩個整數陣列作為輸入nums1, nums2,要求我們找出兩個陣列的差異值。 找出在nums1但是不在nums2的元素,以陣列的形式放在answer[0]輸出。 找出在nums2但是不在nums1的元素,以陣列的形式放在answer[1]輸出。 題目的原文敘述
題目敘述 題目會給我們一個整數陣列nums,要求我們計算平衡軸心點在哪? 平衡軸心的意思就是軸心點索引左側的元素總合 = 軸心點索引右側的元素總合 例如 整數陣列nums=[1,2,2,7,2,3] 7左側的元素總合為 1 + 2 + 2 = 5 7右側的元素總合為 2 + 3 = 5
題目敘述 假想一位自行車手正在公路旅行,旅行起始點從海拔為0的地方開始出發,給定每個紀錄點的高度位移向量陣列gain,請問整趟旅途中的海拔最高點是多少? 題目的原文敘述 測試範例 Example 1: Input: gain = [-5,1,5,0,-7] Output: 1 Expl
題目敘述 題目會給定一個二元陣列nums(也就是說,陣列元素只有0,1這兩種情況)。 我們必須從裡面選擇一個元素刪除之後,請問連續為1的最長子陣列的長度是多少? 測試範例 Example 1: Input: nums = [1,1,0,1] Output: 3 Explanation:
題目敘述 題目會給定一個二元陣列nums(也就是說,陣列元素只有0,1這兩種情況)和指定的k值。 我們最多可以把k個0反轉成1,請問連續唯一的最長子陣列的長度是多少? 題目的原文敘述 測試範例 Example 1: Input: nums = [1,1,1,0,0,0,1,1,1,1,
你可能也想看
Google News 追蹤
Thumbnail
接下來第二部分我們持續討論美國總統大選如何佈局, 以及選前一週到年底的操作策略建議 分析兩位候選人政策利多/ 利空的板塊和股票
Thumbnail
🤔為什麼團長的能力是死亡筆記本? 🤔為什麼像是死亡筆記本呢? 🤨作者巧思-讓妮翁死亡合理的幾個伏筆
Thumbnail
這是本有意思的書,主題頗不尋常,講的是編字典的人。 對現代人來,字典是稀鬆平常的東西,尤其網路很方便,所謂字典,不過是游標固定在字上面就會自動跳出來的東西,遇到不認識的字,手機拍一下也能辨識,一切都那麼自然。 但其實一點也不自然,畢竟文字本身就是理性運作之下產出的東西,來源則是同樣由理性運作構成的語
Thumbnail
從9月30日起,在Naver、Kakao國(韓)語詞典中搜尋「초딩(初丁)」、「말라깽이(瘦皮猴)」、「계집(娘們)」、「머슴애(小廝)」等詞彙,都會同時標注詞彙的使用警示標語,響應韓國網路自律協會(KISO)的「認識歧視用詞」Campaign。
Thumbnail
記得從高中的階段開始,英文老師就會開始建議我們使用 "英英字典" 取代 "英漢字典" ,英文才能更進步,並逐漸練習用英文去思考。可是…… 因為,我們查一個簡單的單字,有可能在英文解釋裡面,卻用了更難更深的單字去解釋它!有時,為了查一個單字,變成要查15個單字!
Thumbnail
以前青茶在國外念書時,國外老師一直要求我們要用英文字典,當時旁邊的同學用中文小聲的說,用英漢字典都有障礙了,怎麼可能用英英字典嘛!我馬上青茶就回了一個遇見知音的眼神,當時年少輕狂的我 覺得用中文翻譯懂意思就是學習語言。本集就是告訴大家為什麼要使用原文字典,以及該如何著手。 00:00 開場
靜處一角落的妳 總是無言 但 我開門妳恆迎等著 當疑問人生難題 妳敞開雙臂擁我入懷 於妳浩瀚無涯愛情裡 任我挑弄尋戲 默默底 妳回應了我的饑渴
Thumbnail
其實也不能怪字典,full circle moment [fʊlˈsɜrkəlˈmoʊmənt] 這句話奧義頗深,解釋完可以耗掉一篇文章。你可能立刻想到這句英文是「圓滿的時刻」,但它的用法可沒我們中文腦想的這麼簡單呢。
Thumbnail
其實都不用買。沒有任何推薦。什麼時代了,還買字典。 上述這段話,是給有網路的人看的。至於針對沒有網路,又怕她一拿起手機就打手遊的小屁孩,我推薦朗文字典(沒有置入,也沒有廠商贊助,純推廣~)一本800左右,用一輩子。划算。 電子字典,不推。翻譯機,不推。還有什麼?大家一起上,開放問答~
Thumbnail
接下來第二部分我們持續討論美國總統大選如何佈局, 以及選前一週到年底的操作策略建議 分析兩位候選人政策利多/ 利空的板塊和股票
Thumbnail
🤔為什麼團長的能力是死亡筆記本? 🤔為什麼像是死亡筆記本呢? 🤨作者巧思-讓妮翁死亡合理的幾個伏筆
Thumbnail
這是本有意思的書,主題頗不尋常,講的是編字典的人。 對現代人來,字典是稀鬆平常的東西,尤其網路很方便,所謂字典,不過是游標固定在字上面就會自動跳出來的東西,遇到不認識的字,手機拍一下也能辨識,一切都那麼自然。 但其實一點也不自然,畢竟文字本身就是理性運作之下產出的東西,來源則是同樣由理性運作構成的語
Thumbnail
從9月30日起,在Naver、Kakao國(韓)語詞典中搜尋「초딩(初丁)」、「말라깽이(瘦皮猴)」、「계집(娘們)」、「머슴애(小廝)」等詞彙,都會同時標注詞彙的使用警示標語,響應韓國網路自律協會(KISO)的「認識歧視用詞」Campaign。
Thumbnail
記得從高中的階段開始,英文老師就會開始建議我們使用 "英英字典" 取代 "英漢字典" ,英文才能更進步,並逐漸練習用英文去思考。可是…… 因為,我們查一個簡單的單字,有可能在英文解釋裡面,卻用了更難更深的單字去解釋它!有時,為了查一個單字,變成要查15個單字!
Thumbnail
以前青茶在國外念書時,國外老師一直要求我們要用英文字典,當時旁邊的同學用中文小聲的說,用英漢字典都有障礙了,怎麼可能用英英字典嘛!我馬上青茶就回了一個遇見知音的眼神,當時年少輕狂的我 覺得用中文翻譯懂意思就是學習語言。本集就是告訴大家為什麼要使用原文字典,以及該如何著手。 00:00 開場
靜處一角落的妳 總是無言 但 我開門妳恆迎等著 當疑問人生難題 妳敞開雙臂擁我入懷 於妳浩瀚無涯愛情裡 任我挑弄尋戲 默默底 妳回應了我的饑渴
Thumbnail
其實也不能怪字典,full circle moment [fʊlˈsɜrkəlˈmoʊmənt] 這句話奧義頗深,解釋完可以耗掉一篇文章。你可能立刻想到這句英文是「圓滿的時刻」,但它的用法可沒我們中文腦想的這麼簡單呢。
Thumbnail
其實都不用買。沒有任何推薦。什麼時代了,還買字典。 上述這段話,是給有網路的人看的。至於針對沒有網路,又怕她一拿起手機就打手遊的小屁孩,我推薦朗文字典(沒有置入,也沒有廠商贊助,純推廣~)一本800左右,用一輩子。划算。 電子字典,不推。翻譯機,不推。還有什麼?大家一起上,開放問答~