LBLD

【LBLD】东哥带你刷二叉树(纲领篇)

东哥带你刷二叉树(纲领篇) 104. 二叉树的最大深度 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() ......
纲领 LBLD

【LBLD】常数时间删除-查找数组中的任意元素

常数时间删除-查找数组中的任意元素 380. O(1) 时间插入、删除和获取随机元素 class RandomizedSet { private: vector<int> nums; unordered_map<int, int> num2index; public: RandomizedSet() ......
常数 数组 元素 时间 LBLD

【LBLD】田忌赛马背后的算法决策

田忌赛马背后的算法决策 870. 优势洗牌 class Solution { public: vector<int> advantageCount(vector<int>& nums1, vector<int>& nums2) { int n = nums1.size(); priority_que ......
算法 背后 LBLD

【LBLD】带权重的随机选择算法

带权重的随机选择算法 528. 按权重随机选择 不使用二分法: class Solution { private: vector<int> preSum; int N = 0; public: Solution(vector<int>& w) { srand(time(0)); preSum.pus ......
权重 算法 LBLD

【LBLD】我写了首诗,让你闭着眼睛也能写对二分搜索

我写了首诗,让你闭着眼睛也能写对二分搜索 704. 二分查找 class Solution { public: int search(vector<int>& nums, int target) { int left = 0, right = nums.size() - 1; while (left ......
首诗 LBLD

【LBLD】滑动窗口算法延伸:RABIN KARP 字符匹配算法

滑动窗口算法延伸:RABIN KARP 字符匹配算法 187. 重复的DNA序列 普通方法: class Solution { public: vector<string> findRepeatedDnaSequences(string s) { int n = s.size(); unordere ......
算法 字符 RABIN LBLD KARP

【LBLD】我写了首诗,把滑动窗口算法算法变成了默写题

【LBLD】我写了首诗,把滑动窗口算法算法变成了默写题 76.最小覆盖子串 class Solution { public: string minWindow(string s, string t) { unordered_map<char, int> need, window; for (char ......
算法 首诗 LBLD

【LBLD】二维数组的花式遍历技巧

【LBLD】二维数组的花式遍历技巧 151. 反转字符串中的单词 思路: 反转整个字符串 然后反转每个单词 class Solution { public: string reversePartString(string s, int a, int b) { if (a < 0 || b >= s. ......
数组 技巧 LBLD

【LBLD】小而美的算法技巧:差分数组

【LBLD】差小而美的算法技巧:差分数组 差分数组 差分数组的第 i 个元素存储原数组第 i 个元素和第 i-1 个元素的差值,其中,差分数组的首元素的值 diff[0] 为原数组首元素的值 nums[0]。 1109.航班预订统计 class Solution { public: vector<i ......
数组 算法 技巧 LBLD

【LBLD】刷题记录

【LBLD】刷题记录 labuladong的算法小抄 第零章、核心框架汇总 学习算法和刷题的思维框架 我的刷题心得 【LBLD】双指针技巧秒杀七道链表题目 【LBLD】双指针技巧秒杀七道数组题目 第一章、手把手刷数据结构 手把手刷链表算法 【LBLD】双指针技巧秒杀七道链表题目 【LBLD】递归魔法 ......
LBLD

【LBLD】小而美的算法技巧:前缀和数组

【LBLD】小而美的算法技巧:前缀和数组 一维数组中的前缀和 class NumArray { private: vector<int> preSum; public: NumArray(vector<int>& nums) { preSum.push_back(0); for (int i = 1 ......
前缀 数组 算法 技巧 LBLD

【LBLD】双指针技巧秒杀七道数组题目

【LBLD】双指针技巧秒杀七道数组题目 快慢指针技巧 class Solution { public: int removeDuplicates(vector<int>& nums) { int fast = 0; int slow = 0; while (fast < nums.size()) { ......
数组 指针 题目 技巧 LBLD

【LBLD】如何判断回文链表

【LBLD】如何判断回文链表 判断回文单链表 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) ......
回文 LBLD

【LBLD】递归魔法:反转单链表

【LBLD】递归魔法:反转单链表 递归反转整个链表 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullpt ......
魔法 LBLD

【LBLD】如何K个一组反转链表

【LBLD】如何K个一组反转链表 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * L ......
LBLD

【LBLD】双指针技巧秒杀七道链表题目

【LBLD】双指针技巧秒杀七道链表题目 原文地址:双指针技巧秒杀七道链表题目 合并两个有序链表 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() ......
指针 题目 技巧 LBLD
共16篇  :1/1页 首页上一页1下一页尾页