分类
Growth | Study
第三章:如何用 BFS 算法秒杀各种智力题 第三章:如何用 BFS 算法秒杀各种智力题
labuladong 如何用 BFS 算法秒杀各种智力题 BFS是一种“齐头并进”遍历树的方式 要用到队列。在while的for循环中,把当前队头pop出去。若找到目标了,则return。若没有找到,则把队头对应的相邻节点(如果这个相邻节
2021-08-17
LeetCode刷题常用操作 LeetCode刷题常用操作
输入输出将向量以特定的分隔符输出到屏幕中#include <vector> #include <stack> #include <iostream> #include <sstream> using namespac
2021-08-16
解析递归和回溯的关系 解析递归和回溯的关系
解析递归和回溯的关系递归递归就是把大问题对应的小问题解决后(注意:大小问题结构一致),再根据小问题的结果完善大问题。遇到递归问题,要想明白: 递归函数的含义:这个函数要实现什么功能?返回什么结果?(一定不要跳进递归,相信这个函数能返回你需
2021-08-16
链表的构建及基础操作 链表的构建及基础操作
How to create a Linked List in Python A linked list is a data structure made of a chain of node objects. Each node con
2021-08-14
第三章:Git原理之最近公共祖先 第三章:Git原理之最近公共祖先
labuladong Git原理之最近公共祖先 遇到任何递归类型的问题,无非就是“灵魂三问” 这个函数是干什么的?(不要跳进递归,没用。) 这个函数参数中的变量是什么? 得到函数的递归结果,你应该干什么 236. 二叉树的最近公共祖
2021-07-22
第三章:用各种遍历框架序列化和反序列化二叉树 第三章:用各种遍历框架序列化和反序列化二叉树
labuladong 二叉树的序列化 297. 二叉树的序列化与反序列化 序列化 前序遍历:(1)注意递归的出口;(2)将前序遍历的根节点数据保存,然后递归左右子树 反序列化 (1)根据','把数据分开; (2)po
2021-07-22
第二章:高楼扔鸡蛋_进阶 第二章:高楼扔鸡蛋_进阶
labuladong高楼扔鸡蛋 李永乐老师的讲解花花酱 LeetCode 887 887. 鸡蛋掉落 方法1:dp数组未优化的暴力解法(会超时)分成两个子楼重新按照1层计数 dp数组的含义:dp[i][j]表示i个蛋,要确定j层楼,最小的
2021-07-15
第二章:以最小插入次数构造回文串 第二章:以最小插入次数构造回文串
1312. 让字符串成为回文串的最少插入次数 dp数组的含义:对字符串s[i...j] (注意这里是两端闭合的),最少需要进行dp[i][j]次插入才能变成回文串 base case:左下角三角形为0,对角线处为0(因为自己本身就是回文串
2021-07-15
781-森林中的兔子 781-森林中的兔子
781. 森林中的兔子 报相同数字的兔子中 (如n个兔子报的数字都是m,即[m, m, … m]) 如果n+1<=m (如 [6,6]) ,则可以认为这些兔子都是同一种颜色,可以抱成一团,兔子个数为 (m+1)*(n//(m+1)
2021-05-25
1029-两地调度 1029-两地调度
1029. 两地调度 按照每个人去A、B两地的路费差进行排序,排好序后,前半部分人去A地,后半部分人去B地 以 [[10,20],[30,200],[400,50],[30,20]] 为例,两地的差分别为[-10,-170,350,10]
2021-04-15
第一章:手把手带你刷二叉树-第二期 第一章:手把手带你刷二叉树-第二期
labuladong 手把手带你刷二叉树(第二期) 654. 最大二叉树递归结束条件:nums中没有元素明确函数的定义(但不跳进递归去):找到最大值及最大值的索引,并根据索引将其分成左右两个子nums集合左右子树递归调用该函数 # Defi
2021-03-18
华为2021笔试记录 华为2021笔试记录
重复一次的最长子串在一个字符串中找到最多重复一次的最长子串,并返回子串长度(AC100%) 输入:abcabcbb输出:6说明:abcabc是最多重复一次的最长子串 该题是3. 无重复字符的最长子串的变体,利用滑动窗口思想,不断更新左
2021-03-05
3 / 8