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 雜湊函式設計函式
- 雜湊遊戲系統技術開發丨雜湊單雙競猜遊戲原始碼丨雜湊遊戲程式設計技術遊戲原始碼程式設計
- 雜湊競猜開發原理丨雜湊競猜遊戲原始碼丨雜湊競猜系統開發設計程式碼遊戲原始碼
- js 雜湊雜湊值的模組JS
- 雜湊表(雜湊表)詳解
- 力扣-706. 設計雜湊對映力扣
- 雜湊
- [M設計+雜湊表] lc380. 常數時間插入、刪除和獲取隨機元素(設計+雜湊表)隨機
- 【六褘-Java】雜湊演算法記憶體圖;set集合低層採用雜湊表儲存元素;雜湊演算法的流程Java演算法記憶體
- Java集合原始碼分析之基礎(二):雜湊表Java原始碼
- 雜湊表(雜湊表)原理詳解
- 【尋跡#3】 雜湊與雜湊表
- 資料結構,雜湊表hash設計實驗資料結構
- [Redis 系列]redis 學習四,set 集合,hash 雜湊,zset 有序集合初步認知Redis
- 【Redis 系列】redis 學習四,set 集合,hash 雜湊,zset 有序集合初步認知Redis
- 查詢(3)--雜湊表(雜湊查詢)
- rust學習九.3-集合之雜湊對映表Rust
- 樹雜湊
- 雜湊碰撞
- 字串雜湊字串
- 雜湊表
- HASH雜湊值競猜遊戲開發原始碼丨原始碼示例丨HASH雜湊遊戲程式設計遊戲開發原始碼程式設計
- 一致性雜湊演算法原理設計演算法
- Hash幸運雜湊競猜遊戲系統設計開發丨雜湊單雙尾數大小競猜遊戲遊戲
- 雜湊函式函式
- 字串雜湊表字串
- redis之雜湊Redis
- 雜湊連線
- 6.7雜湊表
- 安全的雜湊
- 雜湊衝突
- 異或雜湊
- 洛谷題單指南-集合-P3370 【模板】字串雜湊字串
- 幾道和雜湊(雜湊)表有關的面試題面試題
- 雜湊遊戲之雜湊盒子的趨勢未來可期遊戲
- 幸運雜湊單雙競猜遊戲開發技術丨雜湊遊戲系統程式設計開發(部署搭建)遊戲開發程式設計