自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 leetcode206,我发现我也不怎么会反转链表

这道题我可能太久没做或者反转字符串做多了,魔怔了,居然想着双指针一个在头一个在尾巴,然后逐步逼近中间交换了。一个不难的题目就魔怔了。当然,后面做得出来,就是特别粗爆。可以看看这近乎无语的解法。不就是先转1和2,变成<1<2 然后最后3>2>1而已啊!不要去想复杂了啊喂!这反而题做多了有时候把自己误导了,当然其实也没做多少。

2023-05-10 23:15:41 52

原创 双亲委派人话版本

说人话,双亲委派没有双亲,就是派你的parent去加载class。

2023-04-30 11:12:49 46

原创 刷题一个小结

4.nums.length-1是一倍的遍历,两倍的遍历应该是2xnums.length-1而不是2x(nums.length-1)2.linkedlist在回溯的时候务必记得new一个。3.如果涉及了哈希表,那么key记得把有关的变数都加入。1.while写成if,多次犯错。

2023-04-16 10:50:59 51

原创 单调栈总结篇。

单调栈的特点:1.别看又是for又是while的,复杂度是o(n)2.解决四种问题 左边比我 大的/小的 第一个元素 以及 右边比我 小的/大的 第一个元素记住一定是左边或者右边的 第一个 ,第一个,第一个。重要的事情说三遍。题目:739 496 503,42,84接下来一个一个搞起。739给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。

2023-04-15 13:25:58 45

原创 打家劫舍问题

每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。输入:[1,2,3,1] 输出:4 解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。我这取巧了一下,不够仨屋子的都补成0,比如只有一个屋子[1],我补成[1,0,0],这样不影响最终结果的哈。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。这个问题和股票问题有点像。

2023-04-08 22:42:03 50

原创 动态规划完全背包

所有可能的组合为: (1, 1, 1, 1) (1, 1, 2) (1, 2, 1) (1, 3) (2, 1, 1) (2, 2) (3, 1)给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。给定一个由正整数组成且不存在重复数字的数组,找出和为给定目标正整数的组合的个数。外层:遍历物品,比如[1,3]那你第一次就只能拿1去怼了,第二次就只能拿3去了。输入:amount = 5, coins = [1, 2, 5]请注意,顺序不同的序列被视作不同的组合。

2023-03-30 23:11:41 486

原创 动态规划01背包

dp[重量w-weight[i]]+value[i] 放第i个物品,那么上一个dp就是zhonglw-weight[i]//是不是塞满了,满了就对了。比如重量和金额都是[1,3,5],背包容量为1,dp[1]是1,dp[2]还是1。组合 2 和 4,得到 2,所以数组转化为 [2,7,1,8,1],组合 1 和 1,得到 0,所以数组转化为 [1],这就是最优值。组合 7 和 8,得到 1,所以数组转化为 [2,1,1,1],组合 2 和 1,得到 1,所以数组转化为 [1,1,1],

2023-03-28 23:00:48 272

原创 动态规划 整数拆分与搜索二叉树

(1)以1为头,左边比1小的0个,右边比1大的2个也就是dp[0]xdp[2],dp[2]我们上面算出来是2,所以以1为头有两种。考虑2做头,左边比2小的有1个,右边比2大的时候有0个,是dp[1]xdp[ 0](2)以2为头,比2大的和小的都是只有1个,就是dp[1]xdp[1]是一种。发现n=3的时候,以1和3为头的二叉搜索树的构造和2个元素的时候是一样的。(3)以3为头,大于3的0种,小于3的2个,也就是dp[2]xdp[0]左边比1小的有0个,右边比1大的时候有1个,所以dp[0]xdp[1]

2023-03-27 23:17:54 85

原创 动态规划之爬个楼梯还要钱

这道题容易错的地方就是dp没选准,比如dp[0]设成了cost[0],但是哥们,这钱是你站在这儿往上走你才花儿啊,dp[0]就是你呆在那啥都不干,就是0。给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。那么dp[0]和dp[1]肯定是0啦,都没走,题目说了[可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。]所以这俩都是0,都可以是起点。cost[i-1] + dp[i-1], 从减一处过来,带上减一阶的cost就是总费,下面减二同理哈。

2023-03-25 12:22:50 63 1

原创 动态规划之跳跃游戏

可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。if((nums[j] +j)>=i){//前面j个中有能到i的。//靠,要注意到达第一个节点这里不是1,是0步。我刚刚发现题目问题是[能否],那么老子给你订个boolean数组做dp。这次问的是几步而不是[是否],定一个int的dp数组,代码不难,如下。//当前i前面这个j点可达。45题其实和上面一样,就是改成到达最后一个最少走几步。本来以为会超时,结果过了,我们再看一个45题目。//到达这个点的最小步数。

2023-03-19 17:16:38 103

原创 股票买卖问题

dp[i-1][1] + prices[i]//昨天买了,今天卖了,所以今天没有股票,今天的dp就是昨天的dp加今天的股价。dp[days][0],当天俺没有股票,那可能昨天没买,是不是,也就是dp[days-1][0]dp[i-1][0] -prices[i]//昨天没买,今天买了。dp[0][1]意思是第一天(day是0)然后ifbuy=1就是持有股票的意思,0就是没有持有。首先明确dp,dp就是我们现在有的现金数,比如说dp[0][1]=3。

2023-03-19 16:38:18 54

原创 子序列?我用动态规划

子序列这个玩意,就是啥,是数组里面可以隔着几个空抽一点东西出来的叫子序列比如[1 2 3 4 5]子序列可以是[1 3 5]leetcode376,摆动子序列。

2023-03-19 12:20:37 30

原创 来,回溯,剪去树枝

坑死

2023-03-16 00:32:55 23

原创 回溯全家桶

32

2023-03-11 12:06:16 25

原创 BST 的CURD

/情况2: 有一边是null,一边不为null,就把不为null的接替自己。//情况3: 两边都不为null,找左子树的最大值或者右子树的最小值。删除二叉树搜索树的节点,我一样的错误犯了两次:忘记给左子树和右子树赋值,导致一直么有删成功。//情况1:这个玩意是个叶子节点,那么bye。增加个节点确实想半天想不通。结果看了代码随想录的图。好家伙不用转,直接插入就行了、、、

2023-03-07 23:30:24 25

原创 最近公共祖先

接下来处理不是的情况,比如输入是7和4,上图的话应该祖先是2 ,,那么我们想想,如果遍历2的时候,假如2的左子树存在[7,4]中的一个的同时,右子树也存在一个[7,4]的值(题目说了不会有重复数字),说明2绝壁就是公共祖先,那么2是不是最近的祖先?示例 2: 输入: root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 4 输出: 5 解释: 节点 5 和节点 4 的最近公共祖先是节点 5。给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。

2023-03-06 23:36:30 237

原创 遇到二叉搜索树想着中序遍历

3213232

2023-03-06 21:33:04 23

原创 几个错误啊

我用List rtn = a.addAll(b),但是allAll其实是不返回任何东西的。所以直接a.addAll(b)就可以了,这还没完。复制代码经常出现这样,复制出两个left、、、、然后明明知道前序遍历是第一个你下次迭代pLeft就是不加一是吧、。257二叉树最小路径的时候,我用a和b(博客随便起的变量名哈,正式刷题另外起)代表两个ArrayList。每次循环a都把b加进去。

2023-03-05 23:21:55 32

原创 递归中带着回溯

回溯

2023-03-04 10:59:50 44

原创 leetcode404的错误

记载一个判断写错

2023-03-02 23:13:14 25

原创 [13] 堆

13days

2023-02-27 22:37:09 28

原创 [11] 栈和队列

11

2023-02-25 15:57:54 30

原创 复习以及KMP

复习一下三数之和:下面有一个点就是我break了,其实不应该break,因为你不能保证中间就没有了漏掉了。

2023-02-23 22:26:54 24

原创 [7] 哈希表2

seven

2023-02-21 23:34:42 29

原创 【6】哈希表(1)

6

2023-02-20 22:50:00 19

原创 【4】leetcode24

leet

2023-02-18 18:24:32 59 1

原创 【3】leetcode203

3

2023-02-17 23:07:01 48 1

原创 【2】leetcode 977,209,59

2day

2023-02-17 22:54:49 116 2

原创 【1】leetcode704 、27

leetcode刷题第一天~

2023-02-15 22:53:16 125 2

空空如也

空空如也

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

TA关注的人

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