LeetCode705.設計雜湊集合
class MyHashSet {
vector<ListNode*> ms;
int n = 1e4 + 1;
public:
MyHashSet() {
ms = vector<ListNode*>(n);
}
void add(int key) {
int idx = key % n;
if (ms[idx] == nullptr) ms[idx] = new ListNode(key);
else {
ListNode* node = ms[idx];
if (node->val == key) return;
while (node->next != nullptr) {
if (node->next->val == key) return;
node = node->next;
}
node->next = new ListNode(key);
}
}
void remove(int key) {
int idx = key % n;
if (ms[idx] == nullptr) return;
if (ms[idx]->val == key) ms[idx] = ms[idx]->next;
else {
ListNode* pre = ms[idx];
ListNode* node = pre->next;
while (node != nullptr) {
if (node->val == key) {
pre->next = node->next;
return;
}
pre = node;
node = node->next;
}
}
}
bool contains(int key) {
int idx = key % n;
ListNode* node = ms[idx];
while (node != nullptr) {
if (node->val == key) return true;
node = node->next;
}
return false;
}
};
相關文章
- 力扣-705. 設計雜湊集合力扣
- Redis雜湊與有序集合Redis
- 14-2 雜湊函式設計函式
- Hash,雜湊,雜湊?
- 力扣-706. 設計雜湊對映力扣
- Ruby 札記 - Ruby 集合家族之雜湊(Hash)
- 七夕也要學起來,雜湊雜湊雜湊!
- 雜湊競猜開發原理丨雜湊競猜遊戲原始碼丨雜湊競猜系統開發設計程式碼遊戲原始碼
- [M設計+雜湊表] lc380. 常數時間插入、刪除和獲取隨機元素(設計+雜湊表)隨機
- Java集合原始碼分析之基礎(二):雜湊表Java原始碼
- 【六褘-Java】雜湊演算法記憶體圖;set集合低層採用雜湊表儲存元素;雜湊演算法的流程Java演算法記憶體
- 雜湊
- 雜湊遊戲系統技術開發丨雜湊單雙競猜遊戲原始碼丨雜湊遊戲程式設計技術遊戲原始碼程式設計
- 資料結構,雜湊表hash設計實驗資料結構
- 雜湊表(雜湊表)原理詳解
- 【尋跡#3】 雜湊與雜湊表
- js 雜湊雜湊值的模組JS
- [Redis 系列]redis 學習四,set 集合,hash 雜湊,zset 有序集合初步認知Redis
- 【Redis 系列】redis 學習四,set 集合,hash 雜湊,zset 有序集合初步認知Redis
- 洛谷題單指南-集合-P3370 【模板】字串雜湊字串
- rust學習九.3-集合之雜湊對映表Rust
- 雜湊索引索引
- 樹雜湊
- 2024.3.26 雜湊
- 雜湊碰撞
- 字串雜湊字串
- 雜湊表
- HASH雜湊值競猜遊戲開發原始碼丨原始碼示例丨HASH雜湊遊戲程式設計遊戲開發原始碼程式設計
- Go Web 程式設計--使用 bcrpyt 雜湊使用者密碼GoWeb程式設計密碼
- 雜湊表2
- 雜湊衝突
- 字串雜湊表字串
- 雜湊函式函式
- 安全的雜湊
- 異或雜湊
- redis之雜湊Redis
- 6.7雜湊表
- 關於雜湊