付費限定

字典應用題_判斷是否每個元素的出現次數都不同 Leetcode #1207 精選75

閱讀時間約 3 分鐘

題目敘述

題目會給定一個整數陣列arr,要求我們判斷是否每個元素的出現次數都不同?

題目的原文敘述


測試範例

Example 1:

Input: arr = [1,2,2,1,1,3]
Output: true
Explanation: The value 1 has 3 occurrences, 2 has 2 and 3 has 1. No two values have the same number of occurrences.

Example 2:

Input: arr = [1,2]
Output: false

Example 3:

Input: arr = [-3,0,1,-3,1,1,1,-3,10,0]
Output: true

約束條件

Constraints:

  • 1 <= arr.length <= 1000

陣列arr的長度介於1 ~ 1000之間

  • -1000 <= arr[i] <= 1000

每個陣列元素都介於-1000 ~ 1000之間。


演算法

看到統計出現次數,就聯想到雜湊映射表Hash map,在python裡面就是字典dictionary。其中,遇到可迭代的對象,還有自動針對每個元素計數的Counter

因此,我們只要統計每個元素的出現次數。

接下來,判斷出現次數的集合長度,是否等於出現次數陣列的長度

假如是,代表每個元素的出現次數都不同,返回True;

若不是,代表出現次數出現重複,則返回False


程式碼

from collections import Counter
from typing import List

class Solution:
def uniqueOccurrences(self, arr: List[int]) -> bool:

# dictionary:
# key: number
# value: occurrence of number
num_occ_dict = Counter( arr )

# occurrences of each number
occ = num_occ_dict.values()

# if all occurrences are unique, then the length will be equal between occ and set(occ)
return len(occ) == len( set(occ) )

關鍵知識點

Support the creator with action! Pay to unlock
本篇內容共 1283 字、1 則留言,僅發佈於Leetcode精選75題 解析+統整You currently cannot view the following content, possibly because you are not logged in or do not have permission to view the room.
83會員
425Content count
由有業界實戰經驗的演算法工程師, 手把手教你建立解題的框架, 一步步寫出高效、清晰易懂的解題答案。 著重在讓讀者啟發思考、理解演算法,熟悉常見的演算法模板。 深入淺出地介紹題目背後所使用的演算法意義,融會貫通演算法與資料結構的應用。 在幾個經典的題目融入一道題目的多種解法,或者同一招解不同的題目,擴展廣度,並加深印象。
留言0
查看全部
發表第一個留言支持創作者!
題目敘述 題目會給我們一組定義好的界面和需求,要求我們設計一個資料結構,可以滿足平均O(1)的插入元素、刪除元素、隨機取得元素的操作。 RandomizedSet() 類別建構子 bool insert(int val) 插入元素的function界面 bool remove(int val
題目敘述 題目會給定我們一個比賽紀錄陣列matches,裡面以pair的方式儲存,每個pair的第一個欄位代表這場比賽的贏家ID,第二個欄位代表這場比賽的輸家ID。 題目要求我們找出所有沒有輸的玩家ID,和只輸一場的玩家ID。 計算時,只考慮有比賽紀錄的玩家。 輸出時,依照遊戲玩家的ID,從
題目敘述 題目會給定我們兩個字串word1 和 word2。 允許我們不限制次數進行下列兩種操作: 任意調換其中兩個字元的位置。 把字串中的某個字元全部置換成另一個字元,同時把另一個字元同時置換成某個字元。(例如把字串中原本的a都換成b,把原本的b都換成a) 問我們能不能通過上述兩項操作,
題目敘述 題目會給我們兩個字串作為輸入,分別是字串s和字串t,問我最少要做幾次字元轉換,讓字串t和字串s成為Anagram"同字母異序詞"? 註: 例如 god 和 dog 就是 Anagram 同字母異序詞,也是就說,組成字母相同,但是順序可以重新排列。 題目的原文敘述 測試範例 Ex
題目敘述 題目會給我們一個輸入字串s,題目還保證字串s的長度一定是偶數。 要求我們判定字串s的前半部和後半部是否相似? 在本題中,兩個字串相似的定義為兩個字串都擁有相同的母音英文字母: 註: 母音英文字母為a, e, i, o, u, A, E, I, O, U 題目的原文敘述 測試
題目敘述 題目會給定我們一棵二元數Binary Tree的根結點。 問我們任意祖先節點和晚輩節點之間,最大的差值的絕對值是多少? 題目的原文敘述 測試範例 Example 1: Input: root = [8,3,10,1,6,null,14,null,null,4,7,13] Ou
題目敘述 題目會給我們一組定義好的界面和需求,要求我們設計一個資料結構,可以滿足平均O(1)的插入元素、刪除元素、隨機取得元素的操作。 RandomizedSet() 類別建構子 bool insert(int val) 插入元素的function界面 bool remove(int val
題目敘述 題目會給定我們一個比賽紀錄陣列matches,裡面以pair的方式儲存,每個pair的第一個欄位代表這場比賽的贏家ID,第二個欄位代表這場比賽的輸家ID。 題目要求我們找出所有沒有輸的玩家ID,和只輸一場的玩家ID。 計算時,只考慮有比賽紀錄的玩家。 輸出時,依照遊戲玩家的ID,從
題目敘述 題目會給定我們兩個字串word1 和 word2。 允許我們不限制次數進行下列兩種操作: 任意調換其中兩個字元的位置。 把字串中的某個字元全部置換成另一個字元,同時把另一個字元同時置換成某個字元。(例如把字串中原本的a都換成b,把原本的b都換成a) 問我們能不能通過上述兩項操作,
題目敘述 題目會給我們兩個字串作為輸入,分別是字串s和字串t,問我最少要做幾次字元轉換,讓字串t和字串s成為Anagram"同字母異序詞"? 註: 例如 god 和 dog 就是 Anagram 同字母異序詞,也是就說,組成字母相同,但是順序可以重新排列。 題目的原文敘述 測試範例 Ex
題目敘述 題目會給我們一個輸入字串s,題目還保證字串s的長度一定是偶數。 要求我們判定字串s的前半部和後半部是否相似? 在本題中,兩個字串相似的定義為兩個字串都擁有相同的母音英文字母: 註: 母音英文字母為a, e, i, o, u, A, E, I, O, U 題目的原文敘述 測試
題目敘述 題目會給定我們一棵二元數Binary Tree的根結點。 問我們任意祖先節點和晚輩節點之間,最大的差值的絕對值是多少? 題目的原文敘述 測試範例 Example 1: Input: root = [8,3,10,1,6,null,14,null,null,4,7,13] Ou
你可能也想看
Google News 追蹤
Thumbnail
本專欄將提供給您最新的市場資訊、產業研究、交易心法、優質公司介紹,以上內容並非個股分析,還請各位依據自身狀況作出交易決策。歡迎訂閱支持我,獲得相關內容,也祝您的投資之路順遂! 每年 $990 訂閱方案👉 https://reurl.cc/VNYVxZ 每月 $99 訂閱方案👉https://re
Thumbnail
這是本有意思的書,主題頗不尋常,講的是編字典的人。 對現代人來,字典是稀鬆平常的東西,尤其網路很方便,所謂字典,不過是游標固定在字上面就會自動跳出來的東西,遇到不認識的字,手機拍一下也能辨識,一切都那麼自然。 但其實一點也不自然,畢竟文字本身就是理性運作之下產出的東西,來源則是同樣由理性運作構成的語
Thumbnail
從9月30日起,在Naver、Kakao國(韓)語詞典中搜尋「초딩(初丁)」、「말라깽이(瘦皮猴)」、「계집(娘們)」、「머슴애(小廝)」等詞彙,都會同時標注詞彙的使用警示標語,響應韓國網路自律協會(KISO)的「認識歧視用詞」Campaign。
Thumbnail
記得從高中的階段開始,英文老師就會開始建議我們使用 "英英字典" 取代 "英漢字典" ,英文才能更進步,並逐漸練習用英文去思考。可是…… 因為,我們查一個簡單的單字,有可能在英文解釋裡面,卻用了更難更深的單字去解釋它!有時,為了查一個單字,變成要查15個單字!
Thumbnail
以前青茶在國外念書時,國外老師一直要求我們要用英文字典,當時旁邊的同學用中文小聲的說,用英漢字典都有障礙了,怎麼可能用英英字典嘛!我馬上青茶就回了一個遇見知音的眼神,當時年少輕狂的我 覺得用中文翻譯懂意思就是學習語言。本集就是告訴大家為什麼要使用原文字典,以及該如何著手。 00:00 開場
靜處一角落的妳 總是無言 但 我開門妳恆迎等著 當疑問人生難題 妳敞開雙臂擁我入懷 於妳浩瀚無涯愛情裡 任我挑弄尋戲 默默底 妳回應了我的饑渴
Thumbnail
I cannot stress this enough for my students: Please, please try and figure out the meaning of a word, a phrase, a sentence by 上看下看左看右看 method.
Thumbnail
其實也不能怪字典,full circle moment [fʊlˈsɜrkəlˈmoʊmənt] 這句話奧義頗深,解釋完可以耗掉一篇文章。你可能立刻想到這句英文是「圓滿的時刻」,但它的用法可沒我們中文腦想的這麼簡單呢。
Thumbnail
其實都不用買。沒有任何推薦。什麼時代了,還買字典。 上述這段話,是給有網路的人看的。至於針對沒有網路,又怕她一拿起手機就打手遊的小屁孩,我推薦朗文字典(沒有置入,也沒有廠商贊助,純推廣~)一本800左右,用一輩子。划算。 電子字典,不推。翻譯機,不推。還有什麼?大家一起上,開放問答~
Thumbnail
本專欄將提供給您最新的市場資訊、產業研究、交易心法、優質公司介紹,以上內容並非個股分析,還請各位依據自身狀況作出交易決策。歡迎訂閱支持我,獲得相關內容,也祝您的投資之路順遂! 每年 $990 訂閱方案👉 https://reurl.cc/VNYVxZ 每月 $99 訂閱方案👉https://re
Thumbnail
這是本有意思的書,主題頗不尋常,講的是編字典的人。 對現代人來,字典是稀鬆平常的東西,尤其網路很方便,所謂字典,不過是游標固定在字上面就會自動跳出來的東西,遇到不認識的字,手機拍一下也能辨識,一切都那麼自然。 但其實一點也不自然,畢竟文字本身就是理性運作之下產出的東西,來源則是同樣由理性運作構成的語
Thumbnail
從9月30日起,在Naver、Kakao國(韓)語詞典中搜尋「초딩(初丁)」、「말라깽이(瘦皮猴)」、「계집(娘們)」、「머슴애(小廝)」等詞彙,都會同時標注詞彙的使用警示標語,響應韓國網路自律協會(KISO)的「認識歧視用詞」Campaign。
Thumbnail
記得從高中的階段開始,英文老師就會開始建議我們使用 "英英字典" 取代 "英漢字典" ,英文才能更進步,並逐漸練習用英文去思考。可是…… 因為,我們查一個簡單的單字,有可能在英文解釋裡面,卻用了更難更深的單字去解釋它!有時,為了查一個單字,變成要查15個單字!
Thumbnail
以前青茶在國外念書時,國外老師一直要求我們要用英文字典,當時旁邊的同學用中文小聲的說,用英漢字典都有障礙了,怎麼可能用英英字典嘛!我馬上青茶就回了一個遇見知音的眼神,當時年少輕狂的我 覺得用中文翻譯懂意思就是學習語言。本集就是告訴大家為什麼要使用原文字典,以及該如何著手。 00:00 開場
靜處一角落的妳 總是無言 但 我開門妳恆迎等著 當疑問人生難題 妳敞開雙臂擁我入懷 於妳浩瀚無涯愛情裡 任我挑弄尋戲 默默底 妳回應了我的饑渴
Thumbnail
I cannot stress this enough for my students: Please, please try and figure out the meaning of a word, a phrase, a sentence by 上看下看左看右看 method.
Thumbnail
其實也不能怪字典,full circle moment [fʊlˈsɜrkəlˈmoʊmənt] 這句話奧義頗深,解釋完可以耗掉一篇文章。你可能立刻想到這句英文是「圓滿的時刻」,但它的用法可沒我們中文腦想的這麼簡單呢。
Thumbnail
其實都不用買。沒有任何推薦。什麼時代了,還買字典。 上述這段話,是給有網路的人看的。至於針對沒有網路,又怕她一拿起手機就打手遊的小屁孩,我推薦朗文字典(沒有置入,也沒有廠商贊助,純推廣~)一本800左右,用一輩子。划算。 電子字典,不推。翻譯機,不推。還有什麼?大家一起上,開放問答~