自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Python笔记

index:返回所匹配元素的索引,第一个参数为待查找对象,第二个为起始下标,第三个为结束下标(左闭右开),出现多个返回第一个出现的下标。s2 = "大家好,我的名字叫{},今年{}岁,我喜欢{}”.format("xxx", "19", "唱跳rap篮球”)变量 = s.replace('替换前的片段', '替换后的片段',替换次数 ) 替换次数默认所有都换 erase平替。s.find('查找的字符', 起始位置,终止位置),找不到返回-1。s.count('要计数的字符',起始位置,中止位置)

2024-03-20 17:20:52 338 1

原创 打卡Day25回溯02

然后为了弹出上一个元素以开始寻找新的组合,需要进行回溯,把上一个元素弹出,弹出的时候别忘了sum也减回去。当s收集完index对应字符串的一个字符时,就要收集下一个下标对应字符串的一个字符了,因此进入树的下一层,也就是递归向下一层;index表示当前遍历的下标,注意与之前的startIndex表示从下一个字符开始收集不一样,本题为从两个字符串中收集元素;当当前遍历的digit字符串下标为末尾(超出最后一个元素,因为最后一个元素也要处理)时,说明已经收集完了,该结果了,此为。所有可能的有效组合的列表。

2024-03-17 17:25:16 338 1

原创 打卡Day24

在收集的过程中,1 2、1 3、1 4、2 3等组合,如何使得收集到一个结果后,下一个组合从下一个数开始呢?那就是使用start,每次递归的时候start加1,就能从下一个数开始收集;题目要求收集所有长度为k的组合,那么终止条件就是中间结果长度达到了k;本质为暴力查找,隐藏在递归的下面,就是一个“撤销处理结果”的过程。中间结果path收集到一个数之后记得把收集到的数再。,集合的大小为树的宽度,递归的层数为树的深度。(比递归的参数要难确定一些,可以边写变确定)、(注意还要把收集到的结果挤出去);

2024-03-16 17:23:02 220 1

原创 打卡Day16

递归法要注意踩坑,当左右子树只有一个空时还不算遍历到了叶子结点,并且要继续往有子树的方向继续遍历下去,所以中间加了两个判断条件,别的地方思路与上题递归法一致。的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。:这道题使用二叉树的层序遍历,二叉树的最大深度其实就是二叉树的层数,所以直接套用层序遍历模板即可。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。是指从根节点到最远叶子节点的最长路径上的节点数。

2024-03-09 16:23:01 340

原创 打卡Day15

层序遍历使用队列,根结点入队,读取队列元素个数size,size也就是要出队并存储数据的的元素个数,注意需要赋值后单用而不直接使用que.size(),因为循环过程中que.size()在不断变化;根据确定的循环次数,每次循环让队首出队,存储数据,再让根结点的左右孩子入队;直到队为空,说明结点都遍历完了且没有结点再入队了。:递归终止条件就是遍历到了空结点,此时返回;每一层递归的操作就是交换左右孩子,这里使用了先序遍历,“中”处理完后处理左孩子、右孩子。,翻转这棵二叉树,并返回其根节点。

2024-03-09 10:29:56 273

原创 Day14

二叉树理论基础二叉树主要种类。

2024-03-06 16:36:04 138 1

原创 萌新补题牛客周赛合集

考点是贪心,思路是遇到偶数就切割,遇到奇数就继续往下走直到遇到偶数了再切割,由于输入的偶数范围很大,超出了各种整数能表示的范围,因此使用string。temp里压入偶数就直接切割放入a容器里,遇到奇数就继续往下遍历(妙啊,我当时写了坨什么勾事),然后sort函数里重载了自定义的cmp函数,接受两个字符串,如果两个字符串长度相等,那么返回他们的字典排序,如果长度不相等,那么短的排在长的后面。:map左值为该元素的值,右值为为该元素出现的频率,遍历map,频率不为2的倍数直接return;

2024-03-06 16:16:27 412 1

原创 打卡Day11

遇到一个左括号就把对应的右括号压入栈(如果直接把左括号压入栈的话,遍历到右括号的时候还要对类型配对进行判断,万一左右括号跳着来的就更复杂了),遇到右括号就弹出栈顶元素,相等则继续遍历,不相等直接return false,这处理了情况3;栈的经典题目,但比我上次做的那个复杂点,上次做的那个字符串只包含 ' ( ' 和 ' ) ' ,解法也很简单,遇到左括号就压入栈,遇到右括号就出栈,最后看字符串遍历完栈是否为空/栈为空时字符串是否遍历完就行了。tokens的元素都是字符串类型的,比较的时候要用双引号。

2024-03-02 17:40:44 1259

原创 打卡日Day10

首先要注意两个栈要全局定义,往“队列”压入元素就直接把元素压入in就好了,但是要弹出元素的时候,只有当out栈为空的时候,才把in栈所有元素都压入out栈,然后再弹出栈顶元素(这里留了一个疑点,为什么一定是out栈为空才从in栈导入元素呢?:其实用一个队列就可以实现栈了,队列一端入一端出,要想弹出最后进入队列的元素,只需要把最先进入队列的元素 弹出来,再压入队列末尾,直到最后进入队列的元素成为了队首,就可以把该元素弹出来了,也就是说,队列总共有size个元素,只需要把size-1个元素放到末尾就行了。

2024-03-02 11:19:26 414

原创 打卡Day9

求next数组的时候,要注意,当前后缀不相等时,前缀末尾j要持续回退至0或回退至前后缀相等,这样才能得到正确的next[i]的值;返回下标时注意不直接返回i,因为i此时已经指向了子字符串的末尾,而题目要求的是子字符串在主串中出现的第一个下标,因此还要再减j的下标,由于此时j已经走到了子串的外面一个,因此还要再+1。思路:如果一个字符串是由一个子串重复多次构成的,那么它复制一遍后,中间一定还能再找到一个子串,但是为了防止找到的子串就是由原来子串拼接而来的子串,需要对复制后的字符串掐头去尾。

2024-03-01 20:41:37 156 1

原创 今天我跳到了打卡Day8

做的时候倒是疏忽了几个问题,如果原字符串以一个完整的单词结束,那么当我把末尾那个单词压入vec里时,i也刚好走到了结束条件,末尾单词不会被压入vec里。:cpp的string长度可变,用一个字符串替换其中一个字符不能直接赋值,cpp的string有replace函数,把索引为‘i’开始的第一个字符替换为“number”,再将i移动到‘r’的位置,再i++,进行下一轮判断。被库库打击到了,,,写了一个非常白开水的暴力解法,题目说什么我写什么,毫无技巧可言,最后④在了超时上,估计是循环条件一直改不对,,,

2024-02-29 17:19:41 1419

原创 拖欠已久的打卡Day6

循环里每次更新sum的值(第一次没把这行代码写进循环里!两个循环结束的后面三行代码就是在去重,因为本题不考虑输出顺序,所以先使用sort使相等元素排在了一起,再使用unique()函数把相邻的相等的元素移到了数组最后面,再使用erase()函数清除重复元素...这样做太复杂了,而unordered_set本身就有去重功能,将得到的相同元素存进unordered_set里可以自动去重,以下是。昨天开学,这学期课巨多,上的啥课都要课后补,高数,离散,线代,还想补周赛,备蓝桥,还有每日打卡,真的快疯掉了,,,

2024-02-28 15:49:09 489 1

原创 算法练习Day3

对照了下卡哥标准答案的最后一个函数,感觉就dummyhead的定义有出入,代码随想录标准答案里dummyhead在MyLinkedList里就定义了,我这个则是定义在功能函数内部了,也不知道为啥前几个功能函数也这样搞但是没问题。然后就是定义了两个指针“追及”,用了temp结点暂存当前结点的下一个结点以便cur指针能正确移动,也是我新学到的东西。一chat根本不给我讲递归,就是用了双指针,一个prev一个cur,感觉这个方法还蛮不错的就是改变指针指向的时候有点绕了。以指示链表中的上一个节点。

2024-02-23 21:02:49 1543

原创 算法练习Day2

第一次做的时候循环停止条件写的不对,用的while(cnt

2024-02-22 21:37:26 704 2

空空如也

空空如也

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

TA关注的人

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