你好呀,
您是否正在尋找一種儲存唯一值、允許插入值、查找值總數和刪除值的資料結構?套裝是最佳選擇。許多程式語言都包含內建的 Set 資料結構,JavaScript 也不例外。讓我們更深入地了解集合的工作原理。
Set是什麼?
Set 是一種資料結構,可讓您儲存任何類型的唯一值,無論是原始值還是物件參考。此集合允許執行 O(1) 時間複雜度的插入、刪除、更新和大小操作。這使得設定更快、更有效率。
集合旨在提供快速存取時間。它們的實作方式通常使查找項目比簡單地逐項檢查更快。典型的實作可以是哈希表(O(1) 查找)或搜尋樹(O(log(N)) 查找)。
要點
基本方法
範例
// 1. Create a new Set and use the .add() method to add elements const mySet = new Set(); mySet.add(10); mySet.add(20); mySet.add(30); console.log(mySet); // Output: Set { 10, 20, 30 } // 2. Check if the Set has a specific element using .has() method console.log(mySet.has(20)); // Output: true console.log(mySet.has(40)); // Output: false // 3. Delete an element from the Set using .delete() method mySet.delete(20); console.log(mySet); // Output: Set { 10, 30 } // 4. Iterate over the Set using .keys() method // In Sets, .keys() and .values() do the same thing for (const key of mySet.keys()) { console.log(key); } // Output: // 10 // 30 // 5. Get the size of the Set using .size property console.log(mySet.size); // Output: 2
leetcode問題設定範例:
3.沒有重複字元的最長子字串
給定一個字串s,求最長不包含重複字元的子字串的長度。
解決方案
/** * @param {string} s * @return {number} */ var lengthOfLongestSubstring = function(s) { let set = new Set(); let ans = 0; let s_index = 0; for (let i = 0; i解釋:
函數 lengthOfLongestSubstring 使用滑動視窗技術和 Set 來尋找不重複字元的最長子字串:
就是這樣,如果您有任何疑問或任何建議或任何事情,請隨時添加評論。
來源:
MDN(集)
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3