博客 / 列表

iicode - leetcode 232. Implement Queue using Stacks 用棧實現隊列(簡單)

一、題目大意 標籤: 棧和隊列 https://leetcode.cn/problems/implement-queue-using-stacks 請你僅使用兩個棧實現先入先出隊列。隊列應當支持一般隊列支持的所有操作(push、pop、peek、empty): 實現 MyQueue 類: void push(int x) 將元素 x 推到隊列的末尾 int pop() 從隊列的開頭移除並返回

leetcode , , 數據結構與算法 , 隊列

iicode - leetcode 239. Sliding Window Maximum 滑動窗口最大值

239. Sliding Window Maximum 滑動窗口最大值 一、題目大意 標籤: 雙端隊列 https://leetcode.cn/problems/... 給你一個整數數組 nums,有一個大小為k的滑動窗口從數組的最左側移動到數組的最右側。你只可以看到在滑動窗口內的 k個數字。滑動窗口每次只向右移動一位。 返回 滑動窗口中的最大值 。 示例 1: 輸入:nums = [1,3

leetcode , 數據結構與算法 , 隊列

iicode - leetcode 287. Find the Duplicate Number 尋找重複數 (中等)

一、題目大意 給定一個包含 n + 1 個整數的數組 nums ,其數字都在 [1, n] 範圍內(包括 1 和 n),可知至少存在一個重複的整數。 假設 nums 只有 一個重複的整數 ,返回 這個重複的數 。 你設計的解決方案必須 不修改 數組 nums 且只用常量級 O(1) 的額外空間。 示例 1: 輸入:nums = [1,3,4,2,2] 輸出:2 示例 2: 輸入:num

leetcode , 數據結構與算法

iicode - leetcode 15. 3Sum 三數之和(中等)

一、題目大意 給你一個整數數組 nums ,判斷是否存在三元組 [nums[i], nums[j], nums[k]] 滿足 i != j、i != k 且 j != k ,同時還滿足 nums[i] + nums[j] + nums[k] == 0 。請 你返回所有和為 0 且不重複的三元組。 注意:答案中不可以包含重複的三元組。 示例 1: 輸入:nums = [-1,0,1,2,-1,-

leetcode , 數據結構與算法

iicode - leetcode 450. Delete Node in a BST 刪除二叉搜索樹中的節點 (中等)

一、題目大意 給定一個二叉搜索樹的根節點 root 和一個值 key,刪除二叉搜索樹中的 key 對應的節點,並保證二叉搜索樹的性質不變。返回二叉搜索樹(有可能被更新)的根節點的引用。 一般來説,刪除節點可分為兩個步驟: 首先找到需要刪除的節點; 如果找到了,刪除它。 示例 1: 輸入:root = [5,3,6,2,4,null,7], key = 3 輸出:[5,4,6,2,n

leetcode , 數據結構與算法

iicode - leetcode 380. Insert Delete GetRandom O(1) (中等)

一、題目大意 實現RandomizedSet 類: RandomizedSet() 初始化 RandomizedSet 對象 bool insert(int val) 當元素 val 不存在時,向集合中插入該項,並返回 true ;否則,返回 false 。 bool remove(int val) 當元素 val 存在時,從集合中移除該項,並返回 true ;否則,返回 false 。

leetcode , 數據結構與算法

iicode - leetcode 146. LRU Cache LRU 緩存 (簡單)

一、題目大意 請你設計並實現一個滿足 LRU (最近最少使用) 緩存 約束的數據結構。 實現 LRUCache 類: LRUCache(int capacity) 以 正整數 作為容量 capacity 初始化 LRU 緩存 int get(int key) 如果關鍵字 key 存在於緩存中,則返回關鍵字的值,否則返回 -1 。 void put(int key, int v

leetcode , 數據結構與算法