自定义博客皮肤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)
  • 收藏
  • 关注

原创 代码随想录刷题攻略---动态规划---子序列问题1---子序列

子序列(不连续)

2025-02-15 14:14:46 998

原创 代码随想录刷题攻略---动态规划3---股票问题2

可以有多次交易————将以往交易种得到的利润加入后面的买入股票比较值最多可以完成 k 次交易————用 k 个对应的状态来定义 dp 数组多次交易,但没给定有多少次交易——使用 2 个 j 来概括买入、卖出的行为尽可能地完成更多的交易(多次买卖一支股票),但有冷冻期,冷冻期为1天————需要第三个状态:不持有股票(冷冻期)的最多现金。

2025-01-15 17:06:17 724

原创 代码随想录刷题攻略---动态规划3---股票问题1

前面说过,持有股票有两种情况,如果是之前就有股票,那么就是 dp[i-1][0] ,如果之前一直没买股票,然后买了第 i 天这个股票,那么我们的利润应该是 -prices[i], 为什么不是 dp[i-1][1]-prices[i]?前面说过,不持有股票有三种情况,但是第一种情况(一直没买过股票)和第三种情况(第i天之前已经进行过一次买卖股票的操作)都可以用 dp[i-1][1] 表示,第二种情况就是第 i 天之前买过,我们在第i天卖掉,所以就是 dp[i-1][0]+prices[i]”。

2025-01-14 16:57:20 1126

原创 代码随想录刷题攻略---动态规划3---打家劫舍

打家劫舍题型你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例 1:输入:[1,2,3,1]输出:4解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。 偷窃到的最高金额 = 1 + 3 = 4 。示例 2:输入

2025-01-12 21:31:17 900

原创 代码随想录刷题攻略---回溯2---分割&子集&排列

给你一个字符串s,请你将s分割成一些子串,使每个子串都是。返回s所有可能的分割方案。在树层的遍历中,我们每次都选下1个元素作为切割对象;在树枝的遍历中,我们根据树层选择的元素为第1个切割点,切割剩下的数据。全局变量数组path存放切割后回文的子串,二维数组result存放结果集。(这两个参数可以放到函数参数里)本题递归函数参数还需要startIndex,因为切割过的地方,不能重复切割,和组合问题也是保持一致的。

2025-01-02 21:31:36 564

原创 代码随想录刷题攻略--二叉树5--祖先问题与二叉搜索树的修改

给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(找最近的公共祖先时,要从 p 和 q 结点出发向上找,所以我们的处理顺序是。另外要注意的是,,所以如果某结点自身就是 q 或 p,则返回自身。1、递归函数的返回类型和参数参数是树结点和要查找的 p、q 结点,递归函数要返回最近公共祖先,所以类型是TreeNode2、终止条件。

2024-12-25 01:57:19 1005

原创 代码随想录刷题攻略--二叉树4--求二叉搜索树的属性

给定二叉搜索树(BST)的根节点root和一个整数值val。你需要在 BST 中找到节点值等于val的节点。返回以该节点为根的子树。如果节点不存在,则返回null。这道题乍一看是简单的递归题,但在单层处理逻辑中,我习惯地写却忘了递归函数还有返回值。递归函数的返回值是什么?是 左子树如果搜索到了val,要将该节点返回。如果不用一个变量将其接住,那么返回值不就没了。

2024-12-24 01:28:50 324

原创 代码随想录书体攻略--二叉树3--二叉树的修改与构造

进入第3节:二叉树的修改与构造。

2024-12-15 22:31:57 268

原创 代码随想录刷题攻略--二叉树2--二叉树的属性

二叉树1过了一遍“二叉树的遍历方式”,现在开始过二叉树2:二叉树的属性。

2024-12-08 20:48:27 921

原创 代码随想录刷题攻略--二叉树1--遍历方式

在算法中,二叉树主要有2种形式:完全二叉树和满二叉树。满二叉树:除最后一层无任何子结点外,每一层上的所有结点都有两个子结点的二叉树。完全二叉树:如果对满二叉树的结点进行编号, 约定编号从根结点起, 自上而下, 自左而右。则深度为k的, 有n个结点的二叉树, 当且仅当其每一个结点都与深度为k的满二叉树中编号从1至n的结点一一对应时, 称之为完全二叉树。二叉树有2种存储方式:顺序存储和链式存储。顺序存储中,将二叉树的结点自上而下,自左而右地填入数组中存储。。

2024-12-06 14:56:17 266

原创 代码随想录刷题攻略--栈与队列1

1、STL有多个版本:HP STL,最先发布且开源的STL,作为后续版本的蓝图;P.J.Plauger STL, 被Visual C++采用,非开源;2、不同的STL中每个容器的实现可能是不同的,我们普遍使用的SGI STL 栈提供push 和 pop 等等接口,所有元素必须符合先进后出规则,所以。从下图中可以看出,栈的内部结构,栈的底层实现可以是vector,deque,list 都是可以的, 主要就是数组和链表的底层实现。deque是一个双向队列,只要封住一段,只开通另一端就可以实现栈的逻辑了。

2024-11-15 12:18:41 283

原创 代码随想录刷题攻略--哈希表2

谨防哈希表刺客最近在刷哈希表,发现有一些题只用哈希表来做是非常麻烦、需要考虑非常多细节的(比如 需要在数组中找到不重复的子集):掘金的算法例题:问题描述:小U有一条彩带,每一厘米都被涂上了一种颜色。她需要从彩带上截取一段,使得这段彩带 中的颜色种类不超过K种。为了满足任务要求,小U希望截取的彩带段尽可能长。现在你需 要帮助小U计算出满足条件的最长彩带段的长度。 例如:彩带的长度为8,每个颜色的编号是1,2,3,2,1,4,5,1,小U最多允许3种 不同的颜色。此时,最长的满足条件的彩带段是1,2,3,2,1

2024-11-14 00:54:15 389

转载 MapReduce:默认Counter的含义

但reduce在执行前,它的输入数据是经过shuffle的merge后存储在reduce端本地磁盘中,所以这个数据就是所有reduce的总输入字节数。与map task 的split相关的数据都会保存于HDFS中,而在保存时元数据也相应地存储着数据是以怎样的压缩方式放入的,它的具体类型是什么,这些额外的数据是MapReduce框架加入的,与job无关,这里记录的大小就是表示额外信息的字节大小。map端的那个中间结果是有压缩好的有格式数据,所有它有两个length信息:源数据大小与压缩后数据大小。

2024-11-13 17:39:09 48

原创 Mobaxterm快捷修改代码的方式/mobatexteditor打不开

之前一直使用Tools里的Office->MobaTextEditor默认文本来编辑代码,相比直接用vim和vi更方便(可以复制粘贴别的代码)

2024-11-13 13:16:47 512 2

原创 mapreduce错误:Exception in thread “main“ java.lang.IllegalStateException: Job failed!

错误如下:Exception in thread "main" java.lang.IllegalStateException: Job failed!reducer函数同理。

2024-11-11 13:43:40 328

原创 代码随想录刷题攻略---哈希表1

哈希表:根据关键码的值而直接进行访问的数据结构。主要作用:快速判断一个值是否在表中当我们想使用哈希法来解决问题的时候,我们一般会选择如下3种数据结构。但是要注意,此时就要使用另一种结构体了,即set。

2024-11-09 12:12:39 551

原创 代码随想录刷题攻略---回溯1---回溯理论基础+组合

对于这些问题,回溯法的搜索过程可以理解为,因为其搜索的是集合中递归寻找满足条件的子集组合/排列。而对于每一颗子树的递归,都会有一个终止条件(即搜索到叶子结点了,再往下就没有其它可能了),可以表示为因为回溯算法需要的参数可不像二叉树递归的时候那么容易一次性确定下来,所以一般是先写逻辑,然后需要什么参数,就填什么参数。这张图直观地表示了搜索方向、递归、回溯,搜索方向是从左到右搜索每颗子树(子集),递归是选取好1个结点后继续往深处搜索后续的组合/排列,当前递归结束时,会回溯到上一层继续搜索。

2024-10-26 23:08:04 350 1

原创 MapReduce任务运行到running job卡住

然后查找里面的yarn-daemon.sh和hadoop-daemon.sh把上述选项打开即可。网上有很多种解决方案,一般是重新调整内存资源或者更改yarn配置。

2024-07-16 19:07:23 488

原创 关于Origin导出的pdf格式在latex上不正确的问题

origin导出的pdf在latex上格式不正确的解决方案

2024-07-15 22:25:10 644

原创 代码随想录刷题攻略---图论3-广搜and广搜

给你一个大小为m x n的二进制矩阵grid,其中0表示一个海洋单元格、1表示一个陆地单元格。一次是指从一个陆地单元格走到另一个相邻()的陆地单元格或跨过grid的边界。返回网格中在任意次数的移动中离开网格边界的陆地单元格的数量。

2023-12-09 21:47:53 407

原创 代码随想录刷题攻略---图论2-广搜1

1.dfs:搜索到终点之前,选定一条路走到黑,通过回溯改变路径,直到找到预期路径为止2.bfs:搜索到终点之前,从选定结点开始一圈一圈往外搜,一旦遇到终点,记录之前走过的节点就是一条最短路。当然,也有一些问题是 广搜 和 深搜 都可以解决的,例如岛屿问题,。

2023-12-05 15:03:53 503 2

原创 代码随想录刷题攻略---图论1-深搜1

3.处理目前搜索节点出发的路径每一次搜索中,

2023-12-05 12:27:00 494 1

原创 代码随想录刷题攻略---动态规划2---01背包+多重背包、完全背包概念

小明是一位科学家,他需要参加一场重要的国际科学大会,以展示自己的最新研究成果。他需要带一些研究材料,但是他的行李箱空间有限。这些研究材料包括实验设备、文献资料和实验样本等等,它们各自占据不同的空间,并且具有不同的价值。小明的行李空间为 N,问小明应该如何抉择,才能携带最大价值的研究材料,每种研究材料只能选择一次,并且只有选与不选两种选择,不能进行切割。

2023-11-21 22:57:15 156

原创 代码随想录刷题攻略---动态规划1---基础题目

一个机器人位于一个m x n网格的左上角。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角。问总共有多少条不同的路径?

2023-11-13 16:44:22 88

原创 代码随想录刷题攻略---数组4--图形打印

给你一个正整数,生成一个包含1到所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵matrix。。比如在填充该矩阵的第一行时,填充的范围是[0,n-2],那么在填充它接下来的一列时,填充范围也是[0,n-2]。

2023-10-27 23:43:13 73 1

原创 代码随想录刷题攻略---数组3--滑动窗口/前缀和

滑动窗口使用两个移动指针,指针范围内的子数组就是一个窗口;不断调整窗口的大小和位置,使窗口内的子数组符合我们的要求,就是滑动窗口的使用目的。此题的暴力解法是双层遍历,即O(n^2)的时间复杂度。这里提出一种O(n)的方法,即滑动窗口。窗口内的元素种类超过2种,左边界就要向右收缩,知道窗口内的水果种类为2为止。(若用数组或者变量来记录会分不清哪个种类先摘哪个后摘)这道题的思路也比较清晰,窗口的右边界向右扩展,记此时。这题的难点在于记录窗口内的水果种类,用。,比较两种情况下水果数量谁更多。

2023-10-27 23:41:34 96

原创 代码随想录刷题攻略---数组2--双指针法

这题如果记录0元素的位置,并挪到数组末尾,时间开销较大,故我们换个思路,记录非0的元素的位置,快指针指向非0元素时,将其挪到慢指针下标处(从慢指针开始原地覆盖原数组),最后,我们用0填充慢指针到快指针之间的位置即可。虽然用穷举法可以达到目的,但要花费O(n^2)的时间开销,这里提出一种双指针法,#目的:删除数组中的重复元素/目标值为target的元素。慢指针的职责:原地更新数组的数据构成,帮助快指针实现数组。快指针的职责:往后遍历新数组元素,相当于工作指针。使用一个快指针和一个慢指针遍历数组。

2023-10-27 16:49:19 148 1

原创 代码随想录刷题攻略---数组1--二分法

算法刷题攻略

2023-10-22 21:28:41 108 1

原创 计算机408复试专业术语英文

考研复试408术语英文大全(暂只有ds版本)

2023-05-06 14:28:42 1070

空空如也

空空如也

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

TA关注的人

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