資料結構之「集合」

2022-09-18 17:33:10 字數 1602 閱讀 3499

1.1 去重

// set

const arr = [1, 1, 2, 2]

const arr2 = [...new set(arr)]

1.2 判斷元素是否在集合中
const set = new set(arr)

set.has(1)

set.has(2) // true

set.has(3) // false

1.3 求交集
const set2 = new set([2, 3])

const set3 = new set([...set].filter(item => set2.has(item)))

1.1 題目描述

1.2 解題思路

輸入:nums1 = [1,2,2,1], nums2 = [2,2]

輸出:[2]

1.3 解題步驟
function intersection(nums1, nums2)
1.4 時間複雜度&空間複雜度2.1 add操作
// set

let myset = new set()

myset.add(1)

myset.add(5)

myset.add(5)

myset.add('hello world')

let o =

myset.add(o)

myset.add()

2.2 has操作
const has = myset.has('hello world')

const has2 = myset.has()

const has3 = myset.has(o)

2.3 delete操作
myset.delete(5)
2.4 迭代
for(let item of myset) console.log(item)

for(let item of myset.keys()) console.log('keys', item)

for(let item of myset.values()) console.log('values', item)

for(let [key, value] of myset.entries()) console.log('values', key, value)

2.5 set與array互轉
const myarr = [...myset]

const myarr = array.from(myset)

const myset2 = new set([1, 2, 3, 4])
2.6 求交集
const intersection = new set([...myset].filter(x => myset2.has(x)))
2.7 求差集
const difference = new set([...myset].filter(x => !myset2.has(x)))

資料結構 七 之集合結構

幾乎每種程式語言中,都有集合結構.集合比較常見的實現方式時雜湊表 後續會學習 我們這裡來實現乙個封裝的集合類.我們先來簡單認識一下集合的特點.集合的特點 看成一種特殊的陣列 集合的實現 像前面封裝其他資料型別一樣,我們也來封裝一下集合類 set類 建立集合類 操作的方法 我們來乙個個實現這些方法,相...

Redis資料結構之集合

簡介 set型別是用來儲存多個字串元素,但是不允許有重複,並且集合中的元素是無序的。集合有增刪改查的操作,還有求集合間的交集 並集 差集等 常用命令介紹 命令命令描述 sadd key element element.新增元素 srem key element element.刪除元素 scard ...

資料結構之集合Set

1 高層的資料結構,集合set和對映map,什麼是高層的資料結構呢,比如說是棧和佇列,這種資料結構更像是先定義好了使用介面,有了這些使用介面,包括資料結構本身所維持的一些性質,可以很方便的放入到一些應用中,但是底層實現可以多種多樣的,比如棧和佇列,底層實現既可以是動態資料,也可以是鍊錶。集合就是承載...