LeetCode
文章平均质量分 82
LeetCode刷题内容
CodeChecker
这个作者很懒,什么都没留下…
展开
-
C 语言算法操作
130. 被围绕的区域 https://leetcode-cn.com/problems/surrounded-regions/const int dx[4] = {1, -1, 0, 0};const int dy[4] = {0, 0, 1, -1};void solve(char** board, int boardSize, int* boardColSize) { int row = boardSize; if (row == 0) { return;原创 2021-07-17 20:59:09 · 682 阅读 · 0 评论 -
Leetcode 高频考题整理
You can't always get what you wantBut if you try sometimes well you just might findYou get what you need——The Rolling Stones 《Let it Bleed》目录链表树各大排序滑动窗口HashHash + 滑动窗口回溯算法双指针DFS/BFS二分归并/数学动态规划背包问题完全背包栈其他链表92. .原创 2021-03-06 19:56:09 · 2518 阅读 · 0 评论 -
UT HASH
定义HASH表UT_hash_handletypedef struct HashMap { int val; // val保存下标 int key; // key保存值 UT hash 只能用键值进行查找 关键信息放键值 UT_hash_handle hh; // hash map的头}HashMap;前置准备HashMap *hashHandle = NULL;HashMap *tmp = (HashMap *)malloc(sizeof(HashMa原创 2021-08-11 21:07:57 · 1246 阅读 · 0 评论 -
LeetCodeTrie字典树
208. 实现 Trie (前缀树) https://leetcode-cn.com/problems/implement-trie-prefix-tree/typedef struct Trie{ struct Trie * children[26]; int isEnd; } Trie;/** Initialize your data structure here. */Trie* trieCreate() { Trie *node = (Trie原创 2021-08-12 22:23:45 · 240 阅读 · 0 评论 -
LeetCode 前缀和&差分数组
差分数组:1109. 航班预订统计https://leetcode-cn.com/problems/corporate-flight-bookings/算法参考:https://mp.weixin.qq.com/s?__biz=MzAxODQxMDM0Mw==&mid=2247487011&idx=1&sn=5e2b00c1c736fd7afbf3ed35edc4aeec&chksm=9bd7f02baca0793d569a9633cc14117e708ccc9...原创 2021-08-11 08:23:50 · 354 阅读 · 0 评论 -
Leetcode Hash表
Hash表设计类题目(数组+链表)核心问题还是要解决Hash冲突,可以在冲突的地方见一个链表或者数,或者建一个临界缓冲区,所有的冲突内容都在缓冲区中。同样,有些时候需要我们自己是设置key值,题目并没有给出。705. 设计哈希集合https://leetcode-cn.com/problems/design-hashset/struct Node{ int val; Node *next; Node(int val): val(val),next(nullp..原创 2020-08-06 10:50:05 · 400 阅读 · 0 评论 -
Leetcode 字符串及数组
Hash表常见题目何止一个巧字5458. 字符串的好分割数目https://leetcode-cn.com/problems/number-of-good-ways-to-split-a-string/class Solution {public: int numSplits(string s) { //两个Hash表 巧妙的是一个Hash先将全部内容遍历一遍,将内容压入,然后从头开始遍历, unordered_map<char,in..原创 2020-08-04 17:44:15 · 265 阅读 · 0 评论 -
Leetcode区间类问题
区间问题区间问题,我们需要根据题意,其判断以区间左边界还是右边界为指标,进行排序,然后从第一个开始,观察什么时候符合题目要求,什么时候更新位置。排序: //对二维数组进行排序 sort(begin(points), end(points), [](const vector<int> &o1, const vector<int> &o2) { return (o1[1] < o2[1]); });452. 用最少数量的..原创 2020-06-12 16:53:08 · 1221 阅读 · 0 评论 -
Leetcode中的经典算法(归并/分治/快排/数学问题)如何体现在题目中
分治合并K个排序链表https://leetcode-cn.com/problems/merge-k-sorted-lists/合并两个链表的经验我们有,那么n个也是一样的,我们两个两个合并,如图所示:/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NU原创 2020-06-12 16:09:12 · 782 阅读 · 0 评论 -
Leetcode单调栈总结
739. 每日温度https://leetcode-cn.com/problems/daily-temperatures/class Solution {public: vector<int> dailyTemperatures(vector<int>& T) { //双指针循环 if(T.empty()) return {}; int size = T.size(); vector<原创 2020-06-16 18:14:42 · 615 阅读 · 0 评论 -
Leetcode模拟过程类题型
此类问题,没有特定的模板,没有特定的算法,你需要做的是找规律,或者单纯的根据题意模拟一段过程面试题31. 栈的压入、弹出序列https://leetcode-cn.com/problems/zhan-de-ya-ru-dan-chu-xu-lie-lcof/class Solution {public: bool validateStackSequences(vector<int>& pushed, vector<int>& popped) {.原创 2020-06-06 21:09:44 · 966 阅读 · 0 评论 -
Leetcode广度/深度遍历问题
本文主要赘述的是非树和图的DFS和BFS网格类问题:参考内容:https://leetcode-cn.com/problems/number-of-islands/solution/dao-yu-lei-wen-ti-de-tong-yong-jie-fa-dfs-bian-li-/网格类DFS模板(C++版本):动态规划和回溯法也有类似的题目,但是动态规划一般都是有始有终,回溯法基本就是N皇后类型的问题。在这种网格中,完成点i,j的相关操作后,有周边的四个位置决定可...原创 2020-06-01 11:48:31 · 447 阅读 · 0 评论 -
Leetcode贪婪算法相关题目总结(更新中)
300. 最长上升子序列https://leetcode-cn.com/problems/longest-increasing-subsequence/solution/dong-tai-gui-hua-er-fen-cha-zhao-tan-xin-suan-fa-p/原创 2020-05-28 15:44:07 · 653 阅读 · 0 评论 -
Leetcode前缀和问题合集(更新中)
前缀和通常,涉及连续子数组问题的时候,我们使用前缀和来解决就像看见时间复杂度log开头就想到二分查找和数,最值问题不是贪婪就是动态规划,字符串或者数字之间求交集(在字符串中是子串),或者符合要求的连续子集或者子字符串,当然滑动窗口。看到子数组和,有必要马上想到前缀和以下内容参考:https://leetcode-cn.com/problems/subarray-sums-divisible-by-k/solution/you-jian-qian-zhui-he-na-jiu-zai-ci原创 2020-05-27 17:30:27 · 1002 阅读 · 0 评论 -
进制转换及位运算
进制转换及位运算原创 2020-05-22 16:19:14 · 2145 阅读 · 0 评论 -
Leetcode动态规划部分典型题目分类及总结
也不用写啥,做题步骤dpdp关系base case输出参考内容:目录把每个题的dp写了,每个大类有相似的地方1. 数塔面试题10- I. 斐波那契数列https://leetcode-cn.com/problems/fei-bo-na-qi-shu-lie-lcof/class Solution {public: int fib(int n) { if(n <= 0) return 0; if(n == ...原创 2020-05-30 17:59:38 · 1914 阅读 · 0 评论 -
Leetcode回溯算法经典题目总结
回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就 “回溯” 返回,尝试别的路径。回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为 “回溯点”。许多复杂的,规模较大的问题都可以使用回溯法,有“通用解题方法”的美称。回溯算法的基本思想是:从一条路往前走,能进则进,不能进则退回来,换一条路再试。链接:h原创 2020-05-29 22:27:25 · 1458 阅读 · 0 评论 -
Leetcode动态规划—完全背包问题
内容参考https://blog.csdn.net/yoer77/article/details/70943462https://labuladong.github.io/ebook/动态规划系列/前文:Leetcode动态规划——01背包问题 :https://blog.csdn.net/qq_41605114/article/details/106059876动态规划一般解决最值问题,题目只要问最值,但是不在乎得到最值的解法,基本可以考虑使用动态规划解决问题。动态规划的部分问..原创 2020-05-13 15:36:23 · 1932 阅读 · 0 评论 -
Leetcode动态规划——01背包问题
https://blog.csdn.net/qq_34374664/article/details/52230368 分类参考https://blog.csdn.net/yoer77/article/details/70943462?ops_request_misc=&request_id=&biz_id=102&utm_term=%E8%83%8C%E5%8C%85%E4%B9%9D%E8%AE%B2&utm_medium=distribute.pc_searc..原创 2020-05-12 21:59:12 · 3488 阅读 · 0 评论 -
Leetcode二分查找刷题总结(Part2)
有序数组定位查找问题, 二分法是最合适的,同时时间复杂度也是log开头的。二分查找对while循环的失效条件和边界的收缩(更新)要求比较高,二者要一一对应,并不是死板的完全一样。下面链接中,liweiwei1419对二分法进行了非常非常详细的讲解,本文的部分内容也对其是参考和学习,非常感谢大佬!https://leetcode-cn.com/problems/search-insert...原创 2020-05-08 16:33:06 · 703 阅读 · 0 评论 -
Leetcode双指针操作合集(快慢指针&滑动窗口&双指针)
https://leetcode-cn.com/problems/find-the-duplicate-number/solution/qian-duan-ling-hun-hua-shi-tu-jie-kuai-man-zhi-z-3/原创 2020-05-27 22:02:50 · 1181 阅读 · 0 评论 -
Leetcode二分查找刷题总结(Part1)
二分查找:精髓https://leetcode-cn.com/problems/xuan-zhuan-shu-zu-de-zui-xiao-shu-zi-lcof/solution/mian-shi-ti-11-xuan-zhuan-shu-zu-de-zui-xiao-shu-3/原创 2020-05-08 17:52:07 · 1266 阅读 · 0 评论 -
LeetCode-树(解题技巧总结三)
五 递归再理解894. 所有可能的满二叉树 https://leetcode-cn.com/problems/all-possible-full-binary-trees//** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * ...原创 2020-05-01 22:32:35 · 325 阅读 · 0 评论 -
LeetCode-树(解题技巧总结二——路径问题)
4路径问题一般路径问题,都是选择使用DFS(深度优先遍历)完成,但是部分也可以使用BFS(广度优先遍历完成),路径问题一般都比较难,考验对递归、树的理解。一般路径问题的题干都类似:在树中,按照要求找到一条或多条符合要求的路径,记录个数/总和/结点数/....等。更具所要找到的路径的条数,也可以将路径问题分为两类:“最”问题,“全”问题。“最”问题毫无疑问,找到符合要求的一条路径...原创 2020-04-30 11:26:05 · 1268 阅读 · 0 评论 -
LeetCode-树(解题技巧总结一)
递归,但是有细节,就是vector的使用,前闭后开。细节非常重要面试题07. 重建二叉树https://leetcode-cn.com/problems/zhong-jian-er-cha-shu-lcof/class Solution {public: TreeNode* buildTree(vector<int>& preorder, vector&...原创 2020-04-27 11:32:19 · 829 阅读 · 0 评论 -
LeetCode 链表总结
两个基本操作两种删除方法:两种插入方法:双指针:快慢指针:先入后出:递归:原创 2020-04-12 17:17:10 · 1195 阅读 · 0 评论