自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 day 24 第七章 回溯算法part01

其实在讲解二叉树的时候,就给大家介绍过回溯,这次正式开启回溯算法,大家可以先看视频,对回溯算法有一个整体的了解。对着 在 回溯算法理论基础 给出的 代码模板,来做本题组合问题,大家就会发现 写回溯算法套路。在回溯算法解决实际问题的过程中,大家会有各种疑问,先看视频介绍,基本可以解决大家的疑惑。本题关于剪枝操作是大家要理解的重点,因为后面很多回溯算法解决的题目,都是这个剪枝套路。本题大家刚开始做会有点难度,先自己思考20min,没思路就直接看题解。如果把 组合问题理解了,本题就容易一些了。

2024-12-14 18:37:50 546 1

原创 day 51 第十章 单调栈part02

建议是掌握 双指针 和单调栈,因为在面试中 写出单调栈可能 有点难度,但双指针思路更直接一些。接雨水这道题目是 面试中特别高频的一道题,也是单调栈 应用的题目,大家好好做做。第十章 单调栈part02。84.柱状图中最大的矩形。

2024-12-14 18:26:49 365

原创 day 50 第十章 单调栈part01

这道题和 739. 每日温度 几乎如出一辙,可以自己尝试做一做。本题和 739. 每日温度 看似差不多,其实 有加了点难度。第十章 单调栈part01。496.下一个更大元素 I。503.下一个更大元素II。

2024-12-14 18:25:13 287

原创 day 49 第九章 动态规划part13

647. 回文子串,求的是回文子串,而本题要求的是回文子序列, 大家要搞清楚两者之间的区别。动态规划解决的经典题目,如果没接触过的话,别硬想 直接看题解。第九章 动态规划part13。516.最长回文子序列。

2024-12-14 18:23:24 218

原创 day 48 第九章 动态规划part12

本题和动态规划:115.不同的子序列 相比,其实就是两个字符串都可以删除了,情况虽说复杂一些,但整体思路是不变的。但相对于刚讲过 392.判断子序列,本题 就有难度了 ,感受一下本题和 392.判断子序列 的区别。最终我们迎来了编辑距离这道题目,之前安排题目都是为了 编辑距离做铺垫。第九章 动态规划part12。115.不同的子序列。

2024-12-14 18:21:35 205

原创 day 47 第九章 动态规划part11

其实本题和 1143.最长公共子序列 是一模一样的,大家尝试自己做一做。体会一下本题和 718. 最长重复子数组 的区别。这道题我们用贪心做过,这次 再用dp来做一遍。第九章 动态规划part11。1143.最长公共子序列。1035.不相交的线。

2024-12-14 18:19:57 164

原创 day 45 第九章 动态规划part10

本题相对于昨天的动态规划:300.最长递增子序列 最大的区别在于“连续”。稍有难度,要使用二维dp数组了。第九章 动态规划part10。300.最长递增子序列。

2024-12-03 20:30:47 246

原创 day 44 第九章 动态规划part09

相对122.买卖股票的最佳时机II ,本题只需要在计算卖出操作的时候减去手续费就可以了。本题加了一个冷冻期,状态就多了,有点难度,要把各个状态分清,思路才能清晰。本题是123.买卖股票的最佳时机III 的进阶版。714.买卖股票的最佳时机含手续费。309.最佳买卖股票时机含冷冻期。188.买卖股票的最佳时机IV。第九章 动态规划part09。

2024-12-03 20:28:32 203

原创 day 43 第九章 动态规划part08

123.买卖股票的最佳时机III。122.买卖股票的最佳时机II。第九章 动态规划part08。

2024-12-02 14:44:18 158

原创 day 42 第九章 动态规划part07

第九章 动态规划part07。337.打家劫舍III。213.打家劫舍II。

2024-12-02 14:42:25 135

原创 day 41 第九章 动态规划part06

如果求组合数就是外层for循环遍历物品,内层for遍历背包。如果求排列数就是外层for遍历背包,内层for循环遍历物品。关于多重背包,你该了解这些!

2024-12-02 14:40:18 178

原创 day 40 第九章 动态规划 part05

这道题目 爬楼梯之前我们做过,这次再用完全背包的思路来分析一遍。第九章 动态规划 part05。

2024-11-02 19:29:00 218 1

原创 day 38 第九章 动态规划part04

第九章 动态规划part04。

2024-11-02 18:09:13 225

原创 day 37 第九章 动态规划part03

第九章 动态规划part03。

2024-11-02 17:07:44 177

原创 day 36 动态规划part02

不同的二叉搜索树 (可跳过)比j小,j - 1。

2024-10-21 16:27:49 235

原创 day 35 动态规划part01

注意为了数组的索引是从0,开始的,所以长度还是n+1,dp[0]没有使用。1、确定dp数组(dp table)以及下标的含义。注意可以从0或者1开始。爬的时候才开始消耗体力值。所以dp0 = 0;第九章 动态规划part01。3、dp数组如何初始化。

2024-10-19 19:32:51 281

原创 day 23 二叉树part08

本题也不难,在 求二叉搜索树的最小绝对差 和 众数 那两道题目 都讲过了 双指针法,思路是一样的。好了,二叉树大家就这样刷完了,做一个总结吧。108.将有序数组转换为二叉搜索树。538.把二叉搜索树转换为累加树。第六章 二叉树part08。

2024-10-14 12:31:25 181

原创 day 22 第六章 二叉树part07

5、要删除的节点左不为空,右不为空(该节点由左孩子继承或者右孩子继承都可以,例如让右孩子继承,那就要找右孩子的位于最左边的孩子)3、要删除的节点左不为空,右为空(该节点的父节点直接指向左孩子)4、要删除的节点左为空,右不空(该节点的父节点直接指向右孩子)不需要改结构,只需要在叶子节点找到对应的位置即可。701.二叉搜索树中的插入操作。450.删除二叉搜索树中的节点。2、要删除的节点是叶子节点。1、没有找到要删除的节点。利用二叉搜索树的特性。

2024-10-12 20:03:10 329

原创 day 21 二叉树part06

530.二叉搜索树的最小绝对差。501.二叉搜索树中的众数。双指针思路,注意大雨。

2024-10-11 23:36:10 238

原创 day 20 二叉树 part05

题目链接/文章讲解:https://programmercarl.com/0617.%E5%90%88%E5%B9%B6%E4%BA%8C%E5%8F%89%E6%A0%91.html。方法一:maxValue来记录前一个节点的数值,如果前一个节点的数值(按照中序的遍历顺序,数组的值应该是递增的(如果是平衡二叉树的话),否则就不是平衡二叉树)又是构造二叉树,昨天大家刚刚做完 中序后序确定二叉树,今天做这个 应该会容易一些, 先看视频,好好体会一下 为什么构造二叉树都是 前序遍历。98.验证二叉搜索树。

2024-10-05 13:02:46 522

原创 day 17 && day 18 二叉树 part04

106.从中序与后序遍历序列构造二叉树,105.从前序与中序遍历序列构造二叉树 一起做,思路一样的。迭代法(前序遍历),主要使用pair对。递归方法和层序遍历(掌握迭代法即可)层序遍历(更新每一层的最开始的时候)递归法(注意递归的方法中又回溯)从中序与后序遍历序列构造二叉树。递归法注意有回溯的过程。

2024-10-04 18:40:50 204

原创 day 16 第六章 二叉树part03

题目链接/文章讲解/视频讲解:https://programmercarl.com/0222.%E5%AE%8C%E5%85%A8%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E8%8A%82%E7%82%B9%E4%B8%AA%E6%95%B0.html。迭代法是前序遍历,模拟递归需要一个栈,同时还需要一个栈来存放对应的遍历路径。因为要遍历所有路径,路径应该从前到后,所以用的是前序遍历,但是需要回溯。递归法(后序遍历,注意左右子树的高度超过-1,就直接返回-1,剪枝)

2024-10-03 12:35:07 379

原创 day 15 二叉树 part02

后序遍历:原因要遍历两棵树而且要比较内侧和外侧节点,所以准确的来说是一个树的遍历顺序是左右中,一个树的遍历顺序是右左中。其中最大深度就是求高度,用的是后序遍历,求深度,可以用前序遍历,但是需要回溯。最小深度和最大深度最重要的区别是:最小深度是根节点到叶子节点的注意这种情况。后序遍历的使用场景:左边的孩子处理完了,右边的孩子处理完了,才能返回根节点。主要是前序遍历(递归法、迭代法)、层序遍历。104.二叉树的最大深度 (优先掌握递归)111.二叉树的最小深度 (优先掌握递归)递归法用的是层序遍历。

2024-10-01 23:18:17 238

原创 day 14 二叉树part01

需要了解 二叉树的种类,存储方式,遍历方式 以及二叉树的定义。这是统一迭代法的写法, 如果学有余力,可以掌握一下。统一迭代 (基础不好的录友,迭代法可以放过)迭代遍历 (基础不好的录友,迭代法可以放过)第六章 二叉树part01。

2024-09-18 09:37:21 242

原创 day 13 栈与队列part03

大/小顶堆的应用, 在C++中就是优先级队列。347.前 K 个高频元素。

2024-09-15 21:06:03 309

原创 day 11 栈与队列part02

大/小顶堆的应用, 在C++中就是优先级队列。第五章 栈与队列part02。347.前 K 个高频元素。

2024-09-13 15:54:21 209

原创 day 10 栈与队列part0

题目链接/文章讲解/视频讲解:https://programmercarl.com/1047.%E5%88%A0%E9%99%A4%E5%AD%97%E7%AC%A6%E4%B8%B2%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E7%9B%B8%E9%82%BB%E9%87%8D%E5%A4%8D%E9%A1%B9.html。可能大家惯性思维,以为还要两个队列来模拟栈,其实只用一个队列就可以模拟栈了。讲完了栈实现队列,队列实现栈,接下来就是栈的经典应用了。

2024-08-15 00:43:33 470

原创 day 9 第四章 字符串part02

day 9 第四章 字符串part02●151.翻转字符串里的单词●卡码网:55.右旋转字符串●28. 实现 strStr()●459.重复的子字符串●字符串总结●双指针回顾。

2024-08-14 11:50:41 201

原创 day 8 第四章 字符串part01(反转字符串 双指针法)

● 344.反转字符串● 541. 反转字符串II● 卡码网:54.替换数字。

2024-06-15 20:41:02 273

原创 day 7 第三章 哈希表part02 (使用哈希和双指针)

● 454.四数相加II● 383. 赎金信● 15. 三数之和● 18. 四数之和● 总结。

2024-06-11 12:04:51 251

原创 day 6 第三章 哈希表part01(哈希表理论、数组、set、map)

day 6 第三章 哈希表part01● 哈希表理论基础● 242.有效的字母异位词● 349. 两个数组的交集● 202. 快乐数● 1. 两数之和。

2024-06-08 14:34:12 563

原创 day 4 第二章 链表part02(两两交换节点、删除倒数第N个节点、链表相交、环形链表)

● 19.删除链表的倒数第N个节点。● 面试题 02.07. 链表相交。● 24. 两两交换链表中的节点。● 142.环形链表II。

2024-06-07 16:13:47 276

原创 day 3 第二章 链表part01 链表基础、设计链表、反转链表(双指针法、递归法)

day 3 任务以及具体安排● 链表理论基础● 203.移除链表元素● 707.设计链表● 206.反转链表。

2024-06-07 09:33:15 196

原创 day 2 第一章 数组part02 双指针、滑动窗口、循环不变量

第一章 数组part02 双指针、滑动窗口、循环不变量

2024-05-27 12:49:43 237

原创 day 1 第一章 数组part01(二分查找 && 双指针法)

第一章 数组part01(二分查找 && 双指针法)任务

2024-05-26 11:59:24 394

原创 NMF

基本原理NMF,非负矩阵分解,它的目标很明确,就是将大矩阵分解成两个小矩阵,使得这两个小矩阵相乘后能够还原到大矩阵。而非负表示分解的矩阵都不包含负值。 从应用的角度来说,矩阵分解能够用于发现两种实体间的潜在特征,一个最常见的应用就是协同过滤中的预测打分值,而从协同过滤的这个角度来说,非负也很容易理解:打分都是正的,不会出现负值。import numpydef matrix_factorisation(R, P, Q, K, steps=5000, alpha=0.0002, beta=0.02):Q

2021-03-25 01:09:55 468

原创 DeepFM

简单介绍1.DeepFM可以看做是从FM基础上衍生的算法,将Deep与FM相结合,用FM做特征间低阶组合,用Deep NN部分做特征间高阶组合,通过并行的方式组合两种方法,使得最终的架构具有以下特点。(1) 不需要预训练 FM 得到隐向量;(2) 不需要人工特征工程;(3)能同时学习低阶和高阶的组合特征;(4)FM 模块和 Deep 模块共享 Feature Embedding 部分,可以更快的训练,以及更精确的训练学习。2.整体的架构体系如下,左侧为FM的结构层,右侧为Deep部分的结构层,两

2021-03-22 01:46:49 276

原创 Wide & Deep

本周讲解Google 16年发布的Wide & Deep推荐框架。论文可以从这里获取。talentlei/PaperList​github.com图标文章只有4页,思路页很简单。文中设计了一种融合浅层(wide)模型和深层(deep)模型进行联合训练的框架,综合利用浅层模型的记忆能力和深层模型的泛化能力,实现单模型对推荐系统准确性和扩展性的兼顾。对提出的W&D模型,文中从推荐效果和服务性能两方面进行评价:效果上,在Google Play 进行线上A/B实验,W&D模型相比

2021-03-18 22:23:53 142

原创 Deep Crossing

背景特征工程是绕不开的话题,巧妙的特征组合也许能够为模型带来质的提升。但同时,特征工程耗费的资源也是相当可观的,对于后期模型特征的维护、模型线上部署不太友好。2016年,微软提出Deep Crossing模型,旨在解决特征工程中特征组合的难题,降低人力特征组合的时间开销,通过模型自动学习特征的组合方式,也能达到不错的效果,且在各种任务中表现出较好的稳定性。与之前介绍的FNN、PNN不同的是,Deep Crossing并没有采用显式交叉特征的方式,而是利用残差网络结构挖掘特征间的关系。本文将对DeepCr

2021-03-17 01:02:49 163

原创 Pytorch基础教程(张量数据类型、创建Tensor、索引与切片、维度变换)

pytorch基础教程一、 pytorch的数据类型torch.ByteTensor是判断两个张量是否相等;用GPU需要在前面加一个cuda.如何检验tensor的数据类型,有三种方法a.type();type(a);isinstance(a,torch.FloatTenssor)import torcha=torch.randn(2,3)a.type()'torch.FloatTensor'type(a)torch.Tensorisinstance(a,torch.

2020-05-14 12:16:20 892

空空如也

空空如也

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

TA关注的人

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