自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 跟着代码随想录刷题第21天(2023.7.10)-层序遍历与翻转

【代码】跟着代码随想录刷题第21天(2023.7.10)-层序遍历与翻转。

2023-07-10 20:51:59 96

原创 跟着代码随想录刷题第二十天(2023.7.6)-二叉树遍历2

中序遍历算是三种遍历里面最难的了,一定要想清楚!昨天写了比较简单的递归遍历,今天写迭代遍历!

2023-07-06 20:55:02 104

原创 跟着代码随想录刷题第二十天(2023.7.5) --二叉树的遍历

用递归算法求解比较简单,只要想明白只有遍历中间节点(即结点自己本身)时才会把结点值存入vector容器!耽搁了一个多月,继续刷题之路!

2023-07-05 22:11:02 93

原创 跟着代码随想录刷题第十九天(2023.5.6) -- 字符串 5~6

KMP明天再看吧(~~~)

2023-05-06 21:45:40 90

原创 跟着代码随想录刷题第十八天(2023.5.4) -- 字符串 3~4

第一步肯定要去掉连续的空格,这样剩余的就只有一个空格的情况;然后再去掉首尾空格,这样字符串大小就不会再变化了。看了看随想录的双指针法,从后往前进行替换,因为不用考虑 “替换元素之后”的搬运,时间复杂度仅仅为。:可以直接用replace函数(嘿嘿~),或者erase + insert!看了随想录的解法,发现在去除空格那里有更快的解法,直接使用。

2023-05-04 22:10:27 77

原创 跟着代码随想录刷题第十七天(2023.5.3) -- 字符串1~2

这样就可以把程序放入一个 for循环中,单独处理剩余字符小于k个的情况就可以了!可以发现,无论是字符数组的大小是奇数还是偶数,首尾元素调换的次数都是。时进行单独处理,再处理两种特殊情况,于是代码写的又臭又长!以后思考问题一定得多想想,找最简单的解法!,那么直接一个for循环就可以搞定!元素交换时可以用swap!二、Leetcode第541题:反转字符串||:一开始想着先把正常情况即。也可以像随想录一样使用。看了随想录的解法,发现。

2023-05-03 17:46:57 57

原创 跟着代码随想录刷题第十六天(2023.5.1) -- 栈与队列 6

的for循环其实是做了一些重复工作的,因为每次滑动的时候,我们可以知道 滑动窗口中 k-1个元素中的最大值(若上一个滑动窗口中最大值不是第一个元素),如果能每次把原来的最大值只和滑动窗口中新加进来的元素进行比较,这样时间复杂度就会降为O(1)!如果push的元素value大于入口元素的数值,那么就将队列入口的元素弹出,直到push元素的数值小于等于队列入口元素的数值为止。来新老大了,以前的老大和小弟统统滚蛋。简单来说,如果队列中的老大是滑动窗口中的第一个元素,那就把它弹出去,不是的话,就继续当老大。

2023-05-01 13:04:33 42

原创 跟着代码随想录刷题第十五天(2023.4.29) -- 栈与队列 5

很像,都是在某种条件下将两个相邻的元素进行一定操作,非常适合用栈来解决。

2023-04-29 14:40:12 47

原创 跟着代码随想录刷题第十四天(2023.4.27) -- 栈与队列 3~4

在什么情况下可能会出现,一个是全部遍历完之后,栈为空,说明全部匹配成功;另一种情况是当前字符串元素为右括号时,栈为空,说明右括号太多了,匹配失败。:首先要仔细分析应满足的三个条件,这样就可以找出三个边界条件。根据第二个条件,左括号和右括号必须以正确的顺序对应,所以满足 ‘:想要删除两个相邻且相同的字母,首先得把这俩字母进行比较,比较之后若相同直接删除都删除就行,很容易想到用。将当前元素与栈顶元素进行比较,

2023-04-27 21:59:10 56

原创 跟着代码随想录刷题第十三天(2023.4.26) -- 栈与队列1~2

一道很基础的题,就是考查对栈的基本操作。

2023-04-26 20:58:28 35

原创 跟着代码随想录刷题第十二天(2023.4.24) -- 哈希表7~8

首先想到的是用暴力解法,三个for循环,在第三层循环中找到符合条件的vector(也就是元组),进行去重,但是结果超时了!就算提前进行了第一个元素和第二个元素的去重,结果还是超时了!因为O(N3)的复杂度实在是太高了!(来自Leetcode的一位题友)

2023-04-24 16:16:21 71

原创 跟着代码随想录刷题第十一天(2023.4.23) -- 哈希表 5~6

想到把magazine中的每个元素都存入哈希表中,元素值为key,每个元素出现的次数为val,再用ransomNote去哈希表中查找,每个元素查找到一次,对应key就减一,若有减到0的就返回false。,四个数组,划分前两组中元素的和作为map容器中的元素,后两个用作 差值的查找。一、Leetcode第454题:四数相加||:四个数组中各拿出一个元素相加,要求和等于。基于范围for循环的代码(真的好简洁!二、Leetcode第383题:赎金信。,应该想到把相加和作为。,统计和为0 出现的。

2023-04-23 16:25:03 71

原创 跟着代码随想录刷题第十天(2023.4.22) -- 哈希表 3~4

题目中要求检查 求和结果 是否会为,就两种情况,要么为1,要么无限循环。无限循环的情况就就转变为 查找 “求和结果”是否会出现,这时就要想到!直接把每次求的和存入哈希表,每次循环时在哈希表中对当前进行查找,找到就说明重复出现了!

2023-04-22 11:33:15 62

原创 跟着代码随想录刷题第九天(2023.4.21) -- 哈希表 1~2

题目中出现了 某个元素是否出现过以及重复出现的问题,故应该联想到哈希表。可以把Key设置为26个小写字母的ASCII值,val为字符串种某个字符出现的次数。通过比对两个字符串对应哈希表是否想等,即可知道二者是否为 字符异位词!思路:首先要理解为什么会有哈希表这个东东存在,很简单,因为它能结合数组和链表的优势,规避它们的不足。哈希表既可以随机访问,又不需要连续存储(拉链法)。思路:首先要学习好 unorder_set容器的基本使用。

2023-04-21 16:24:33 78

原创 跟着代码随想录刷题第八天(2023.4.19) --链表7

这道题和上道链表相交题目中的 “浪漫相遇”解法很相似,这种类型的 “快慢指针”要掌握,而且一定要动手画一画,这样灵感才会来。下面直接给出随想录的方法(我自己没想出来呜呜~)。2. 如果有环,如何找到这个环的入口。1. 判断链表是否有环。

2023-04-19 14:11:39 53

原创 跟着代码随想录刷题第七天(2023.4.18) --链表6

【代码】跟着代码随想录刷题第七天(2023.4.18) --链表6。

2023-04-18 16:22:19 57

原创 跟着代码随想录刷题第六天(2023.4.17) --链表4~5

唯一需要注意的点还是边界问题,我这里选择fast->next指向nullptr为边界条件,随想录用的是fast指向nullptr,所以我的fast指针先走n步即可,他的需要走n+1步。把各个结点的val、next以及指向结点的所有指针全部写清楚!题目要求不能直接交换两个结点中的val,必须进行结点的交换,所以必须得有临时指针来保存结点的地址。关键是要分清楚结点本身的地址和结点中存储的next地址!3.下一组待交换两结点中的 ‘头结点’,用于将上一组交换完成的结点指向下组待交换的结点。文字看起来是不是很绕?

2023-04-17 16:13:31 60

原创 跟着代码随想录刷题第五天(2023.4.16) --链表3

思路:这道题应该一步一步分析,可以在纸上画出每一步的步骤,按照步骤写代码,最后再把一些特殊的点带进去进行验证!

2023-04-16 13:29:44 39

原创 跟着代码随想录刷题第四天(2023.4.15) --链表2

根据index顺序寻找时,可以使用for或者while,我都是用for,但随想录用的都是while,我仔细思考了一下,应该用while。所以尽量使用已有变量完成任务应该是更好的一种选择。对于单链表,在某个结点a前面插入新结点时,需要顺序找到a的前趋结点,因为只有前趋结点中保存了结点a的地址(对于单链表来说),如果直接找到结点a,那结点a的地址就无法找到,也就没办法在a之前插入新结点了。:这道题非常考察链表的基础操作,有很多细节问题,特别是边界问题,一不小心就会越界,几经修改我的代码之后,终于是调通了!

2023-04-15 15:01:45 187

原创 跟着代码随想录刷题第三天(2023.4.14)--链表1

因为之前没有真正敲过链表的代码,所以这真不知道应该怎么入手!所以在思考了10分钟后,决定直接看随想录的文字说明。,我本来想用直接用ListNode定义一个临时struct,但是编译出错了,应该是定义的时候必须得初始化,然而我们不知道应该把谁的地址初始化给它,所以动态申请一个内存。这个题还是比较简单的,基本没有什么弯弯,就使用虚节点时需要。

2023-04-14 22:00:10 52

原创 跟着代码随想录刷题第二天(2023.4.13)-- 数组

0开始累加到3(nums[0]+nums[1]+nums[2]+nums[3] >= target )满足条件,当从下标1开始的时候,nums[1]+nums[2] 肯定是小于target的,但暴力解法依然会进行这种无意义的计算!看了看随想录的方法,原来重点是数组的下标,确定好数组下标,一个一个往里面填值就行,重要的是坚持。随想录的代码和我的代码本质是相同的,不过他把 窗口的滑动放到了一个while循环中,更符合滑动窗口的思想,值得借鉴!这样就形成一个循环,每当越界的时候,加n取模后的坐标会是该方向下的。

2023-04-13 16:23:48 125

原创 跟着代码随想录刷题第一天(2023.4.12)-- 数组

最后没办法看了看随想录的提示,还是得先平方再比较,新建个vector容器,然后比较首尾指针指向元素的平方(因为这俩分别代表正负数平方后的最大值),哪个大就把哪个平方后放到数组最后一个位置去(由新数组的尾指针决定),一直迭代到原数组的首尾指针汇合就好了,也不用考虑0的问题(之前在0上折腾了好久),因为到0的时候它就一定是最小的。一看测试用例,好家伙这数组真的又臭又长,但是就是过不去没办法,只能重新想招,想招的时候点了一下讨论区(就不应该点,把我带沟里去了),总是想着在平方前就排序完,但是代码怎么也写不出来!

2023-04-12 20:46:19 175 2

原创 ubuntu22.04 磁盘分区以及深度学习环境的一些设置

最近通过硬盘盒在外接的固态硬盘中安装ubuntu22.04,折腾了一段时间,终于ok了,记录一些设置问题。

2023-04-01 22:03:07 8707 3

翻译 2021动手学深度学习笔记pytorch版本--2.1预备知识

深度学习小白一枚,最近在看李沐的动手学深度学习(2021版本),一些代码感觉看不太懂,于是写个博客记录下代码的一些个人理解,也方便后续复习。2.1数据操作2.1.1入门import torchx = torch.arange(12)x#结果:tensor([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])这里的张量我理解的就是一个’数组‘,一维是向量,二维是矩阵。torch.arange(12)创建一个大小为12的行向量。..

2021-10-25 15:03:19 172

空空如也

空空如也

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

TA关注的人

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