自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 零基础备战蓝桥杯python日记——Kmp算法、manacher算法、背包DP

如果 j < weight[i],那么第 i 个物品根本放不进背包,此时 dp[j] 的值不会因为第 i 个物品而发生改变,也就是 dp[j] 会保持之前的状态。个人理解:我觉得可以想象成把刚才的二维表格展开成一排一排的开始遍历,然后还要注意一个问题是,要从背包容量最大开始倒序遍历,不然的话,你就会反复加入第i个物品(因为你的容量在不断加大,正序你就有足够的空间反复放某一物品)# 2. 放入第 i 个物品,此时最大价值为 dp[i - 1][j - weight[i]] + value[i]

2025-03-25 22:20:44 419

原创 备战蓝桥杯——高精度、初等数论

初始化结果为 1,因为任何数的 0 次幂为 1,且在后续乘法运算中作为初始值。# 将指数除以 2 并取整,相当于指数的二进制表示向右移动一位。# 如果指数为奇数,将当前的 base 乘到结果中。# 将 base 平方,相当于指数的二进制表示向左移动一位。循环,这个数i不用再对Primes数组里的数做判断,避免了重复。# 当指数大于 0 时,继续进行幂运算。# 判断指数是否为奇数。%关键,当能除尽最小的素数时,就退出。

2025-03-23 21:19:02 507

原创 蓝桥杯自学

right=len(s)-1,while left=right+1或者说是while left<=right .因为[left,right],如果相等就退出,会漏掉元素。:right=len(s),while left=right或者说是while left<right.因为[left,right),如果相等时,已经没有元素了。”我理解就是,去重的时候第一个元素就可以看作一定不是重复元素的第一个,就算和第二个元素相同,也是改第二个元素。# d 是将移出窗口的字符。的元素的,最后的结果数组长度就是。

2025-03-16 20:14:40 605

原创 跟着labuladong刷力扣题目

另外还有两种方法,一种是成环后,判断另一支是否进入环。还有一种是计算链表长度,让长的先走两者的差的距离。再判断两者最后相等时的指针位置。环形节点注意这里有一个数学推导,第一次相遇时,可能快指针已经在环里绕了K圈。相遇的点不一定在入口处。快慢指针的思路,while时,p1是偶数时,最后一步移到None,奇数时,p1.next为空。当是头节点时,没有前一个节点,也就没有办法通过前一个节点的.next来删除。下面代码是反转链表的,虽然没有办法解决力扣的题目,但是可以积累一下。用的将两个链表连接的方法。

2025-03-14 15:46:07 284

原创 零基础备战蓝桥杯--记录了一些学习情况

这次回来链表反转又不行了:用这个图配上述的注释应该能看懂了。

2025-03-09 21:27:13 208

原创 零基础备战蓝桥杯python-Day11

原理:在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾,以此类推,直到所有元素均排序完毕。map(int, ['1', '2', '3']) 把列表元素转为整数,返回迭代器。n, m, r = map(int, input().split()):将 map 迭代器元素依次赋给 n、m、r,实现一行读取多个整数。如 "1 2 3".split() 返回 ['1', '2', '3']。(3)插入排序[3]

2025-03-03 20:04:09 1536

原创 零基础备战蓝桥杯python-Day10

round(浮点数,要保留的小数位数)在每次循环时,变量会依次获取可迭代对象中的一个元素,接着执行循环体里的代码,直至可迭代对象中的所有元素都被遍历完。在这个特定的代码中,count是一个字典,字典的方法values()会返回一个视图对象,该对象包含了字典中所有的值.比如对于上述字典,会返回一个类似[1, 2, 3]的可迭代对象(实际上是视图对象,但可以像列表一样用于遍历)

2025-03-03 19:59:38 243

原创 零基础备战蓝桥杯python-Day9刷题日记leetcode:104,108

假如迭代到最后一层(如图中节点15这里),此时他的root.left为空,返回0,则left_depth=0,往下执行,他的root.right为空,right_depth=0,return max(left_depth,right_depth)+1,也就是1,如果把15作为下面的根节点,所以要+1,他的下面是max(left_depth,right_depth)。这里是一个层次遍历。Tips:这里的for后面的_用在不关心循环变量的值,只关心循环的次数,相当于只是一个根据range来进行一定次数的循环。

2025-03-02 10:40:31 288

原创 零基础备战蓝桥杯python-Day8刷题日记leetcode:88,100,101

在方法内部,当要递归调用自身时,使用self.inorderTraversal来确保调用的是当前类的方法,得修改成这样,不然会报错。与 append() 区别:append()是将参数作为一个整体添加到列表,extend()是将参数中的元素逐个添加到列表。比较的思路都会比较像用递归,先判断是否节点为空作为终止条件,再判断其他结构条件,最后通过return递归子问题。作用:将可迭代对象(如列表、元组、字符串)中的所有元素添加到调用该方法的列表末尾。在二叉树中序遍历应用:合并子树遍历结果到最终结果列表。

2025-02-28 16:13:35 203

原创 零基础备战蓝桥杯python-Day7刷题日记leetcode67、69、70、83

官方:为了优化空间复杂度,我们可以不用保存f(x−2)之前的项,我们只用三个变量来维护f(x)、f(x−1)和f(x−2),你可以理解成是把「滚动数组思想」应用在了动态规划中,也可以理解成是一种递推,这样把空间复杂度优化到了O(1)。但还是老问题,一会字符串转列表,一会列表转字符串,正序,逆序输出的。这题还是比较简单,可以先1开始在纸上写几个,就能发现计算当前台阶数的爬法数量,为前两个台阶数爬法数量之和。这是AI的算法,我觉得他最简洁的地方是,没有向我那样一会字符串,一会列表的转换,

2025-02-26 11:03:20 397

原创 零基础备战蓝桥杯python-Day7刷题日记leetcode:

元素大也就是else的情况,那他都大了,我肯定插在这个元素之前,也就是这个元素的当前索引i,这样这个大的元素的索引就会变成i+1,就能正确排序。但是在循环的时候也不能设置l-1,那样会无法处理只有一个元素的列表,没有考虑开头位置,0与l-1的索引是重合的。先看第一个视频理解一下定义,可能有点晕,再看第二个视频理解一下区间(我就是看这两个视频播放量比较高,不想再搜更多了,费时费力),然后又看了一遍第一个视频,着重看细节解释部分,感觉这个算法会更加通用一些,避免了很多区间开闭和溢出的问题。

2025-02-24 13:16:50 577

原创 零基础备战蓝桥杯python-Day6刷题leetcode:21,26,27

因为这里不需要理会其他重复元素,只需要前k个是不重复的元素就好,所以用两个指针吗,一个用来遍历,一个用来在发现不重复的元素后更新。方法一:迭代法,逐个比较,因为所有元素都在,所以一次只移动一个指针,如果遇到空的情况,退出循环,指针直接移到不空的链表。第三步:拆解问题:确定问题如何拆解,寻找规模更小的子问题来解决当前问题,就是将参数变得更接近基准问题。第二步:解决基准问题,符合什么条件时,可以直接计算结果并返回:在这里就是含有空的情况。第一步:确定问题,比如这里就是,寻找下一个节点的指针位置。

2025-02-23 12:05:37 435

原创 零基础备战蓝桥杯python-Day5刷题日记:3,13,20

一些想说的话:本人情况:是大一上了C语言的课,现在大三从2月17这样才开始准备蓝桥杯。搜了一下网上没有那种短期可以全程跟的教程,但总结准备比赛过程就是熟悉基础语法,学经典算法,刷题这三个步骤。搜到川川菜鸟老师的视频和知乎,说可以写成博客记录,我觉着这个想法非常好就开始记录了。我的进展:先看了黑马教程的速成课,感觉有些和之前重合,老师讲的很好,但学了两天感觉太慢了,而且不知道要学哪里、掌握哪些语法,就没有继续做学习笔记。而是转来刷题,边刷边学知识点,这两天就学了哈希表,链表。

2025-02-22 00:21:38 1526

原创 零基础备战蓝桥杯学习日记python-Day4力扣题目

Carry表示进位,要考虑到链表长度不一样,最后链表结束仍有进位的情况并以此为条件写while,如果遇到链表结束的情况,将值赋为0,求出结果下一位的值,再用值转换成结果列表的下一节点,将指针移到这一节点(这很重要),这样下一次才会在next的时候将指针迭代到后一位,同时不要忘记把输入链表移到下一位。学会链表的问题,设置一个结果的空表头,返回到空表头下一个也就是结果的开始。如果想答应出来,可以用head为头链表节点,

2025-02-21 15:50:43 223

原创 零基础备战蓝桥杯python-Day3学习日记

key不可以为字典,但是value可以。4、集合:无序,不可重复。split得到的是列表。

2025-02-20 13:29:54 187

原创 零基础备战蓝桥杯学习日记python-Day2

注意可以用continue返回主菜单,if里面比较,因为input的都是字符串,要加引号,不然无法比较。2、制表符:\t,空格换成这个,效果等同于在键盘上按下tab键,可以让多行字符串进行对齐。注意:如果if的条件满足,后面则不看,各个条件是互斥的。定义:指其内容可以一个个一次取出的一种类型,包括字符串,列表,元组等。变量的作用域:局部(定义在函数内部),全局(定义在函数外部)问题:在函数内修改全局变量,并不生效,相当于变成局部变量。:获取一个从0开始,到num结束的数字序列,

2025-02-17 23:34:29 1229

原创 零基础备战蓝桥杯python-Day1学习日记

蓝桥杯学习第一天,先过一遍语法知识

2025-02-17 00:13:48 415

空空如也

空空如也

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

TA关注的人

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