利用unordered map特性求交集

2021-09-07 20:51:22 字數 668 閱讀 2923

unordered_map 是關聯容器,含有帶唯一鍵的鍵-值 pair 。搜尋、插入和元素移除擁有平均常數時間複雜度。

元素在內部不以任何特定順序排序,而是組織進桶中。元素放進哪個桶完全依賴於其鍵的雜湊。這允許對單獨元素的快速訪問,因為一旦計算雜湊,則它準確指代元素所放進的桶。

讓我們看下原題:

給定兩個陣列,編寫乙個函式來計算它們的交集。

example 1:

input: nums1 = [1,2,2,1], nums2 = [2,2]

output: [2,2]

example 2:

input: nums1 = [4,9,5], nums2 = [9,4,9,8,4]

output: [4,9]

注意:

結果中的每個元素應該出現在兩個陣列中顯示的次數。

結果可以是任何順序。

優化:如果給定的陣列已經排序怎麼辦? 你會如何優化你的演算法?

如果nums1的尺寸與nums2的尺寸相比較小怎麼辦? 哪種演算法更好?

如果nums2的元素儲存在磁碟上,並且記憶體有限,以致您無法一次將所有元素載入到記憶體中,該怎麼辦?

**分析:

class solution 

};

unordered map,雜湊結構

c 11中新增4個unordered系列關聯式容器 unordered map說明 unordered map的容量 函式宣告 功能介紹 bool empty const 檢測unordered map是否為空 size t size 獲取unordered map的有效元素個數 unordered...

關聯容器(五) unordered map

介紹 雜湊map是一種關聯容器,通過鍵值和對映值儲存元素。允許根據鍵值快速檢索各個元素。在內部unordered map的元素不以鍵值或對映的元素作任何特定的順序排序,其儲存位置取決於雜湊值,unordered map容器比map容器更快地通過鍵值訪問他們的單個元素 hash表的思想,以空間換時間 ...

容器類之 unordered map

該容器的特點 存放資料的方式 key value,通過key進行檢索。存放資料時無序的。檢索的速度比map類快。過載了 運算子。iterator可以訪問key和value。unordered mapm unordered map iterator it m.begin int key it firs...