- 博客(60)
- 收藏
- 关注
原创 Git学习和Linux基础
git statusgit add *.txt(所有txt全部添加到暂存区)git add .(所有文件全部添加到暂存区)git commit -am ".."(先add一次再提交)git loggit log --oneline(简介提交记录)git reset --soft <地址/HEAD^>git reset --hard <地址/HEAD^>git reset --mixed <地址/HEAD^>git reloggit diff (比较工作区和暂存区的差异)
2025-12-10 21:33:51
873
原创 代码随想录打卡day31:96.不同的二叉搜索树
2的时候 剩下3-1个数一个比2小一个比2大,所以左右一定是dp[1]和dp[1]的情况。1的时候 剩下3-1个数一定比1大,所以一定为右字数的dp[2]情况。3的时候 剩下3-1个数一定比3小,所以左子树一定为dp[2]的情况。尝试写4发现dp[i]+=dp[j]*dp[i-j-1] j<i。思路:和做数学题一样,先画前几种情况,看一下有没有什么规律。
2025-12-08 20:06:36
157
原创 操作系统第五章学习
控制寄存器:存放cpu指令状态寄存器:存放设备状态数据寄存器:存放机械设备发出的数据和cpu发来的数据CPU与控制器接口:完成U和IO控制器通信IO逻辑:负责CPU IO设备 机械设备间逻辑指令的转换编码控制器与设备接口:完成IO设备和机械设备的通信
2025-12-05 15:25:23
204
原创 代码随想录打卡day30:63.不同路径II、343.整数拆分
dp[i][j]=(!obstacleGrid[i][j-1])*dp[i][j-1](根据左边和上边是否有石头来决定是否需要加上该位置的路径)dp[i]=max(dp[i],max(j*(i-j),j*dp[i-j])) 每次求dp[i]的时候都要进行拆分,从3到i-1。情况从j*(i-j)和j*dp[i-j]取最大值。初始化:第一行和第一列有石头之后的位置全部没有路径,之前的全部为1。dp[i][j]到达ij的路径数。
2025-12-03 21:27:24
301
原创 操作系统第四章学习
相对路径通过将当前路径放在内存中,然后访问子文件的时候直接从内存查找从而减少从新从磁盘调用根目录的复杂I/O操作。可能产生难以利用的磁盘碎片,可以使用紧凑来解决,但是会花费大量的资源。为什么“文件–外存”在逻辑结构 + 物理结构上都有多种组织方式,缺点是每个文件都有自己的索引表,可能花费更大的磁盘空间。FAT一个磁盘只有一个,而索引表是一个文件对应一个。文件存储不顺序,但是具有索引表,索引表是顺序结构。逻辑结构由用户决定,物理结构由操作系统决定。但“进程–内存”却没有这么复杂的多层结构?
2025-12-03 11:12:48
273
原创 代码随想录打卡day29:62.不同路径
3.初始化:第一行和第一列的所有位置到达的路径数均为1。1.dp[i][j]:到达第i行j列的路径数。4.遍历顺序:行列遍历。
2025-12-02 19:42:55
203
原创 代码随想录打卡day28:使用最小花费爬楼梯
2.递归:dp[i]=min(dp[i-1]+cost[i-1],dp[i-2]+cost[i-2])1.dp[i]代表达到当前位置需要花费的最少金额。3.初始化dp[0]=0,dp[1]=0;4.遍历顺序:从前往后。
2025-12-01 20:04:30
145
原创 操作系统第三章学习
操作系统给进程分配内存。指令中的地址一般是逻辑地址,但是指令存放的位置是物理地址。如何把指令中的逻辑地址转换为正确的物理地址?
2025-11-18 15:13:36
292
1
原创 代码随想录打卡day27:509.斐波那契数列、70.爬楼梯
分别是1.DP数组含义 2.递归方法 3.DP数组初始化 4.DP数组遍历顺序 5.举例推导。2.dp[i]=dp[i-1]+dp[i-2](i-1层楼再走一步+i-2层楼再走两步)今天开始DP,根据代码随想录的模板解决DP问题需要搞清楚五步。3.没有第0层,从1开始,1层楼1种方法,2层楼2种方法。2.递归:dp[i]=dp[i-1]+dp[i-2]3.初始化dp[0]=0,dp[1]=1。1.dp[i]代表数列第i个数的值。1.dp[i]到达i层楼的方法数。4.遍历顺序:从前往后。
2025-11-13 20:30:27
234
原创 代码随想录打卡day26:738.单调递增的数字
因为我们要得到比原数字更小的数字,所以增加极大值位置后面的数值是不可取的,只能通过减小极大值点位置的值,然后使后面位置全部置位为9方可达到最大的情况。所以整个题的思路就转换为了找到位置出现最招的极大值点(即异常点)然后将其-1处理后将后面的所有数字置位为9。这道题思路就是从后往前遍历,找到比后面大的数字(即极大值点)就标记该位置。(1)to_string():将数值类型转换为字符串类型。
2025-11-06 20:58:45
197
原创 代码随想录打卡day25:56.合并区间
先按左边界排序,然后开始遍历。发现有当前位置区间和前一位置区间有交集,就合并区间并存放在当前位置,这样可以方便之后遍历的下一位置i+1与当前位置i对比看是否有交集。若无交集则将当前位置i存放的区间放到res中。
2025-11-05 19:57:46
200
原创 代码随想录打卡day24:763.划分字母区间
这道题就是记录当前遍历子串出现过的字符的最远出现位置,如果遍历到当前子串的最远出现位置后,可以保证遍历的子串中的所有字符在当前位置都出现完了。那么就可以选择当前位置作为一个切割子串的位置,并重新开始记录下一个子串中字符出现的最远出现位置和遍历位置并进行比较。
2025-11-04 19:42:29
219
原创 代码随想录打卡day23:435.无重叠区间
这道题是求到有交集的,res+1并更新当前区间,如果下一个区间依旧和更新后的区间有交集,那么res+1并再次更新区间。新区间更新的条件以最小右边界来更新,如果达不到最小右边界那么就是没交集,继续遍历即可,如果当前区间左边界小于更新后的最小右边界,那么证明三个区间有交集,res+1并再次更新最小右边界然后与下一个区间判断。这道题和上一道射箭的题类似,都是求公共区间问题。上一题是一直求公共区间,求到没交集的就次数+1然后更新区间。
2025-11-03 19:56:33
363
原创 代码随想录打卡day22:452. 用最少数量的箭引爆气球
这道题就是找交集,每两个气球更新当前射箭区间取两个气球范围的交集,如果下一个气球的范围和射箭区间没有交集,则射箭次数+1,将新气球的范围作为新的射箭区间继续遍历。并且因为要射爆气球最少需要1根箭,所以res的初始值为1。依旧是先sort一个维度,确定一下顺序。
2025-10-30 20:06:03
201
原创 侯捷面向对象泛型编程(下)重点
完全特化:指定类型进行模板书写,传入的类型必须完全相同才会进入该特化模板。模板接收不同类型进行不同的操作,而不是做统一的泛化操作。1)指定一个类型为固定类型,另一个为模板类型的偏特化。现在很多使用匿名函数lambda替代。3)指定两个类型完全相同时的偏特化。可以使类的构造模板更有弹性。类模板,函数模板,成员模板。偏特化:满足指定条件的模板。2)指定指针类型时的偏特化。
2025-10-30 17:35:07
172
原创 代码随想录day21:406.根据身高重建队列
这里优先确定身高顺序从高到低,之后遍历数组,根据people的第二个元素的值与i的关系判断是否可以直接push,不满足条件则根据第二个元素的值从begin后移people[i][0]再插入,因为之前排过序的缘故,res中全是比当前身高高的人,所以只需要考虑后移几位即可。二维的问题一定要先确定一维,不能同时考虑两维。
2025-10-28 20:19:31
246
原创 代码随想录打卡day20:860柠檬水果找零
主要是20的情况,如果有10元优先使用10+5的策略找回,因为只能用5元来找10元,所以5元相对十元来说比较珍贵,类似一个癞子。找10元和找20元都要用到5元所以尽可能保留多的5元这样。智力小题目,考虑清楚所有清楚情况即可。
2025-10-27 17:19:45
229
原创 侯捷面向对象学习重点(上)
由于可能出现连用的情况,所以要求返回类型依旧是标准输出流引用,并且由于将数据发送往输出流的过程中输出流的状态不断在改变,所以接受的形参不能是常量引用。
2025-10-23 20:05:28
193
原创 代码随想录打卡day19:134.加油站
如果遍历完成发现全部站点剩油量的总和小于0,说明不论从哪里走都无法转一圈,如果等于0则说明正好可以转一圈,如果大于零说明转一圈还有剩余。思路:计算每站跑到下一站的剩油情况。从0号站开始跑,跑一站加一油,如果剩余油量小于0说明从当前位置之前的所有位置跑到这里都会耗尽油。所以我们只能从把油花完的位置的下一个位置开始,尝试用i+1后面的油填补从0到i时候亏掉的油。
2025-10-23 10:07:01
165
原创 代码随想录打卡day18:1005. K 次取反后最大化的数组和
(2)如果全部数字都为正数但k有剩余,就要判断k为偶数还是奇数。偶数可以忽略不记,奇数的话则选最小的正数进行翻转,得到最小的负数为局部最优。(1)第一次是先将绝对值最大的负数转为正数为局部最大,然后达到全局最大。
2025-10-22 10:37:34
224
原创 代码随想录打卡day17:45.跳跃游戏II
我们先使用第一格的数据更新下次跳跃范围,然后由于已经达到跳跃边界,所以我们要进行第一次跳跃,并且跳跃的范围就是我们第一格的数值。依旧使用最远跳跃范围覆盖能跳到的最远距离,我们在当前最远范围内依次跳跃,并求每个位置覆盖的最远范围,并更新当前跳跃范围内可以求得的最远跳跃范围作为下一次跳跃的最远范围。如果我们在当前跳跃范围内无法达到重点,那么我们就要使用之前求得的下一次的最远跳跃范围作为我们的当前跳跃范围。本题相比于跳跃游戏I的基础上加了条件限制,求得跳到重点的最小跳跃次数。
2025-10-21 16:11:43
285
原创 代码随想录打卡day16:55.跳跃游戏
例如示例2,Index=0时,覆盖三格,那么我们只能走1,2或者3。走1的时候最大范围为1+2,不满足。2的时候最大范围为2+1,不满足,走三的时候3+0不满足。此时已经到达我们可以到达的最大位置,无法移动,循环结束返回false。例如示例1,在Index=0时,覆盖两格,那么我们此时只能走1或者2步。我们开始遍历,走1的时候,1+nums[1]=4直接可以覆盖整个数组,所以满足了。这道题不在于每次该跳几格,而在于求能达到范围内每个位置能覆盖到的最远距离。
2025-10-20 15:47:36
335
原创 代码随想录打卡day15:122.买卖股票的最佳时机II
也就是说今天卖了,明天卖掉,计算出利润,然后再买一份第二天再买,计算每一天的利润,取所有正值即是最大利润。贪心思路,求每一天买的利润,并收集所有正的利润的和,不考虑在那天卖合适。
2025-10-17 15:37:34
240
原创 代码随想录打卡day14:53.最大子数组和
这里其实存在一个逆向思维,我们一般会想,如果下一个数是正数,会对我们之前的子数组和为正向收益,如果是负数,那么是负向收益。但是如果我们遇到负数就跳过,就很难得到一个连续的子数组。
2025-10-16 15:59:12
169
原创 代码随想录打卡day13:455.分发饼干;376.摆动序列
只有找到一个右坡度和上一个记录节点的右坡度不一样的结点,这个结点才是可以和上个结点链接,构成极值的结点,言语不好形容,总之pre就是用于记录上一个结点的右坡度的,下一个结点的右坡度必须和其相反,否则不可以被记录。一般运用的场景是求最优解(最大值,最小值...)这种题型,整体思想是靠“求所有局部的最优解从而达到求得全局最优解的效果”。这道题的局部最优解就是每块饼干都可以分配胃口最接近的孩子,即小饼干就分给胃口小的孩子,大饼干就分给胃口大的孩子,从而达到饼干的利用率最大,使得最多的孩子可以吃到饼干。
2025-10-15 20:08:43
258
原创 代码随想录打卡day12:51.N皇后;37.解数独;回溯算法总结
因为有一些数组中包含相同的数字,但是解集中不需要重复的解,如果依次遍历的话遍历到相同的数字总会出现重复的解,所以就要对相同的数字进行标记来跳过当前递归层次使用过的数。首先,每一行皇后对应一个位置,在当前位置下下一行皇后又对应n个位置,所以树的广度方向是不同同一行皇后的不同位置,深度是上一行皇后位置下下一行皇后的不同位置。其次就是判断函数,这道题和N皇后一样,是否进入下一层递归都需要一个判断函数,因为求的是正确的解而不是所有可能,所以要使用isValid来排除错误的解。所以返回值这里可以设置为bool值。
2025-10-13 21:33:27
733
原创 代码随想录打卡day11:46.全排列,47.全排列II
这道题和之前的题有不同了,之前的题目都是组合数,也就是说不管数之间的排列顺序,只求其组合,而现在是排列,数的位置不同也可能为一组新的解。但是每层都从0开始的问题是可能会重复访问上一层使用过位置的数,所以同样需要一个used数组来标记使用过的位置。来进行使用标记,即每个值对应一个bool,使用过就置位为true,由于数组是每一层递归都创建一个,所以不用考虑下一层的情况,方便思考。这道题相比于46的区别是存在相同的数,但是解集中要求不能包含相同的解,也就是有又涉及到了同层去重相同数的问题。
2025-10-11 16:52:49
339
原创 代码随想录打卡day10:90.子集II,491.非递减子序列
也就是说不一定是递增或者递减的序列,先出现一个数然后隔一段距离再出现相同的数的可能性是有的,比如:4,6,7,3,7,8。其次是res的push,由于序列需要至少2个数字或者以上,所以我们不能在每次递归的时候向res中push了,需要加上判断条件,当当前路径数字个数大于1的时候才push,具体代码如下。例如在遍历:1,2,2这层时,遍历到2的时候就会得到2和2,2这两组解,如果这时候再去遍历下一个2的话就会得到相同解。而之前排除的方式是通过一个全局的bool数组和i和i-1的位次进行判断的,但是。
2025-10-10 20:07:32
957
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅