自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 二分查找问题总结

我们三种场景都使用[left, right]全封闭区间来进行求解一.普通二分查找int binarySearch(vector<int> nums, int target){ // 初始化左右边界的初始值 // 我们使用全封闭区间,所以所有的区间都是合法的,right初始值不能直接是nums.size() int left = 0; int right = nums.size() - 1; // 二分查找一定是有序的,我们先进行排序 // 当然,一般题目都是有序的队列,毕

2021-04-30 14:01:25 98

原创 双向BFS总结

双向BFS一.使用条件双向BFS的使用场景必须是知道起始点和终止点,即要遍历的起点,和要找的点我们都知道。虽然我们并不能用双向BFS来减少时间复杂度O(N),但是我们可以减少遍历节点的数目,理论上是可以减少一半需要遍历的节点数目,如下图二.算法流程框架说明:A.我们不再使用队列来作为遍历的容器,我们用hash容器,因为我们可以利用hash查找的特点,来帮助我们快速求解;B.我们可以采用交换的策略,来简化代码流程C.我们可以每次都遍历节点数目少的队列,这样,我们就可以遍历更少的点的,这是一个优

2021-04-30 10:42:56 326

原创 背包问题小结

0-1背包问题描述:有物品对应的重量列表weight[i]对应的价值为value[i],以及背包总量amount,求最少(最大也是一样)用多少物品装进背包(或者装满),是的背包的里面的价值最大状态:dp[i][j]表示第i个物品的时候,装进背包容量j最大的价值;初始状态:dp[][] = 0(如果是装满dp[*][0] = 0, 其他的都初始化为最小的负值)动态方程:dp[i][j] = max{dp[i-1][j], value[i]+dp[i-1][j - weight[i]]}for 物

2021-04-24 23:05:11 86

原创 mark

https://books.halfrost.com/leetcode/

2021-03-29 19:27:36 82

原创 中缀表达式求解

leetcode726/中缀法求解中缀表达式、后缀表达式

2021-02-09 22:38:20 116

原创 最小堆与最大堆的理解以及堆排序

最小堆的构建/插入/删除以及堆排序

2021-02-09 19:49:24 111

原创 如何用辗转法求取最大公约数

辗转相除法

2021-01-10 23:09:24 213

原创 最大公约数

字符串的最大公因子

2021-01-10 21:58:36 77

原创 括号生成之暴力法/回溯法/按括号序列的长度递归

括号生成之暴力法/回溯法/按括号序列的长度递归

2021-01-07 23:05:21 102

原创 有效的括号字符串之DFS/贪心/双向遍历/双栈

有效的括号字符串之DFS/贪心/双向遍历/双栈

2021-01-05 23:13:04 73

原创 字典树

单词的压缩编码(后缀存储/倒序字典树)

2020-12-29 07:50:07 107

原创 leetcode-摆动序列

动态规划/贪心算法求解最长摆动序列

2020-12-27 13:29:33 68

原创 leetcode 452. 用最少数量的箭引爆气球

452. 用最少数量的箭引爆气球解题思路学习其贪心思想

2020-12-25 00:08:17 50

原创 leetcode-分割等和子集求解方法

1. 递归-记忆求解前言很重要,关于P、NP、NPC,谷歌百度多看几遍,常看常新。贡献一个dfs记忆化搜索的版本。首先,利用数组有序进行剪枝;其次,return语句中两个dfs也可以思考一下能否利用“或操作“的短路特性进一步增加提前返回的可能性(某种意义上也是剪枝)。class Solution { public boolean canPartition(int[] nums) { int sum = Arrays.stream(nums).sum(); if

2020-12-23 22:02:37 126

原创 动态规划之树形结构的状态转移方程

方法一:动态规划思路与算法简化一下这个问题:一棵二叉树,树上的每个点都有对应的权值,每个点有两种状态(选中和不选中),问在不能同时选中有父子关系的点的情况下,能选中的点的最大权值和是多少。我们可以用 f(o)f(o) 表示选择 o 节点的情况下,o 节点的子树上被选择的节点的最大权值和;g(o)g(o) 表示不选择 o 节点的情况下,o 节点的子树上被选择的节点的最大权值和;l 和 r 代表 o 的左右孩子。当 o 被选中时,o 的左右孩子都不能被选中,故 o 被选中情况下子树上被选中点的最大权值.

2020-12-17 23:33:49 437

原创 动态规划-dp问题

动态规划思路讲解以及经典用例

2020-12-16 23:27:49 40

转载 单词接龙---快速建图----双向BFS(广度优先遍历)

转载(https://leetcode-cn.com/problems/word-ladder/solution/dan-ci-jie-long-by-leetcode-solution/)方法一:广度优先搜索 + 优化建图思路本题要求的是最短转换序列的长度,看到最短首先想到的就是广度优先搜索。想到广度优先搜索自然而然的就能想到图,但是本题并没有直截了当的给出图的模型,因此我们需要把它抽象成图的模型。我们可以把每个单词都抽象为一个点,如果两个单词可以只改变一个字母进行转换,那么说明他们之间有一条双向

2020-12-09 22:39:12 221

原创 贪心算法归纳

贪心算法1贪心算法2

2020-11-30 23:52:24 44

原创 图的拓扑排序解决先后顺序问题

图的拓扑排序

2020-11-27 23:45:27 274

原创 自定义比较函数的规则

自定义比较函数的规则

2020-11-27 10:57:07 114

原创 查并集

查并集及优化DSU/查并集查并集应用

2020-11-18 23:58:31 93

原创 前缀哈希法详解

前缀哈希法详解前缀和、哈希用法总结哈希表:字符串(前缀哈希法)

2020-11-18 23:54:37 824

原创 滑动窗口总结

滑动窗口简介滑动窗口总结算法详解

2020-11-18 23:10:58 67

原创 单调栈

单调栈详解单调栈及其应用刷题单调栈

2020-11-18 23:05:44 43

原创 图基础知识学习

图的拓扑排序DFS/BFS

2020-11-14 16:47:58 41

原创 shell 脚本符号区分

bash shell 中如何区别 ()和()和()和{}和$(())和(())shell中 $( ) ${ } $(( )) [ ]的区别

2020-11-10 10:01:42 58

转载 排序算法

排序算法十大经典排序

2020-11-07 10:46:14 52

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除