自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 [Error] nll_loss2d_forward_kernel: block: [5,0,0], thread: [339,0,0] Assertion `t >= 0 && t < n_clas

数据都是统一处理的,算背景类,共有四类,使用min和max对target进行输出,tensor(0., device='cuda:0') , tensor(3., device='cuda:0'),代表对target的处理应该没有问题吧。assert labels_f.max() < student_output.size(1), f"标签张量的值超出了有效的类别范围 [0, {student_output.size(1)-1}]。print("标签的dtype:", labels_f.dtype)

2024-09-12 09:17:16 284 1

转载 [@property]装饰器的使用

目的:为避免在设置参数时,参数取值or格式不符合逻辑或设置需求,加入@property装饰器,在对实例属性操作的时候,自动检查该属性是否在合理范围内;优势:使用传统的函数可以对属性进行检查,但调用过于繁琐,装饰器可以很好地解决这个问题;

2024-05-31 09:40:17 95

原创 【数组Array】力扣-151 反转字符串中的单词

中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。如果两个单词间有多余的空格,反转后的字符串需要将单词间的空格减少到仅有一个。反转后的字符串中不能存在前导空格和尾随空格。中使用至少一个空格将字符串中的。之间用单个空格连接的结果字符串。是由非空格字符组成的字符串。

2023-12-21 16:47:28 434

原创 【数组Array】力扣-1094 拼车

当且仅当你可以在所有给定的行程中接送所有乘客时,返回。这些位置是从汽车的初始位置向东的公里数。乘客,接他们和放他们的位置分别是。向一个方向行驶(也就是说,

2023-12-20 16:14:48 525

原创 【数组Array】力扣-1109 航班预订统计

航班编号 1 2 3 4 5。预订记录 3 : 25 25 25 25。总座位数: 10 55 45 25 25。因此,answer = [10,55,45,25,25]预订记录 2 : 20 20。,里面的元素是每个航班预定的座位总数。因此,answer = [10,25]预订记录 1 : 10 10。预订记录 1 : 10 10。预订记录 2 : 15。总座位数: 10 25。

2023-12-19 15:59:12 428

原创 【数组Array】力扣-370 区间加法

构造差分数组,差分数组中diff[i] = nums[i] - nums[i-1],当改变某一区间内所有值时,其内部的差值是不变的,只有头尾发生改变,这样,极大的简降低了搜索的复杂度。(包括 startIndex 和 endIndex)增加。的数组,初始情况下所有的数字均为。只学习一下吧,没有开力扣会员,哈哈。

2023-12-18 15:25:13 433

原创 【数组Array】力扣-304 二维区域和检索 - 矩阵不可变

修改的时候发现for循环界限也写错了,很马虎,最后没有修改正确,属实不知道该怎么定义一个二维数组,其实上一道题,构建新的一维数组我也学的马马虎虎,当时忽略掉了....学习一下题解吧。首先,仔细看了题目下边解释,发现其实输入的时候matrix只是一个矩阵,二维矩阵,与后面输入的参数没有联系,所以,我对matrix[0][0]取长度,本身就是一种错误的行为。其实除了这些细节意外 ,summ数组的取值那里,如果手动推导一下是不会出错的,出错就是不熟练的时候只依靠脑子想,有些想当然了。

2023-12-15 10:53:00 571

原创 【数组Array】力扣-303 区域和检索 - 数组不可变

题解中说,我使用的方法,虽然可以达到效果,但是效率很差,原因是方法sumRange会被频繁调用,时间复杂度是O(N),而最优解是使用前缀和技巧,不使用for循环,将sunRange函数的时间复杂度降为O(1)。如何去看了labuladong题解,hhh,简直了,我就是题解中说的那种“没学过前缀和的人~”,学习一下题解吧!

2023-12-14 21:04:00 499

原创 【数组Array】力扣-5 最长回文子串

其实核心在于循环方式,题解中对回文串中心进行循环,然后以中心向两侧扩展,这种好处是,很容易就能判断是不是回文串,以及获得回文串的头尾。如果从左侧或者右侧开始寻找,就需要控制两个循环变量,很复杂。又是偷懒的一天,没思考多久直接学习题解了,头疼,不想思考┭┮﹏┭┮。如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。"aba" 同样是符合题意的答案。

2023-12-13 19:48:02 440

原创 【数组Array】力扣-344 反转字符串

编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组。、使用 O(1) 的额外空间解决这一问题。不要给另外的数组分配额外的空间,你必须。

2023-12-12 10:58:01 428

原创 【数组Array】力扣-167 两数之和II-输入有序数组

1 与 0 之和等于目标数 -1。因此 index1 = 1, index2 = 2。返回 [1, 2]。2 与 7 之和等于目标数 9。因此 index1 = 1, index2 = 2。返回 [1, 2]。2 与 4 之和等于目标数 6。因此 index1 = 1, index2 = 3。解析里面有这样一句话: “只要数组有序,就应该想到双指针技巧。是不是不能用双层循环去做呢,应该是达到了平方复杂度了,需要修改算法,参考。,请你从数组中找出满足相加之和等于目标数。重复使用相同的元素。

2023-12-11 10:31:52 449

原创 【数组Array】力扣-283 移动零

移动到数组的末尾,同时保持非零元素的相对顺序。,必须在不复制数组的情况下原地对数组进行操作。,编写一个函数将所有。

2023-12-09 14:40:29 514

原创 【链表Linked List】力扣-203 移除链表元素

做的链表题稍微多一些了,这种普通的链表操作还是比较容易的,一次通过,开心~,请你删除链表中所有满足。给你一个链表的头节点。

2023-12-08 10:22:10 762

原创 【链表Linked List】力扣-117 填充每个节点的下一个右侧节点指针II

容器:deque是"double-end queue"的简称,是collections模块中的,针对Python内置的容器,它类似于list,可以快速的在队列头部和尾部添加、删除元素,是栈和队列的一种广义实现,常使用append()从右端加入元素,popleft()移除列表左端的一个元素。给定二叉树如图 A 所示,你的函数应该填充它的每个 next 指针,以指向其下一个右侧节点,如图 B 所示。首先得到根节点,最后通过循环获得对应的下一级的所有节点,再确定next指向。

2023-12-07 10:56:28 827

原创 【链表Linked List】力扣-114 二叉树展开为链表

不会不会,直接学习题解。

2023-12-06 10:46:29 723

原创 【链表Linked List】力扣-109 有序链表转换二叉搜索树

python默认递归调用深度为1000,程序运行过程中超过最大的递归深度,因此检查了一下代码,看是否存在死循环情况。但也没有发现什么问题,大概率是我对链表转二叉树操作不了解,直接学习解析吧,看看是否能发现问题所在。不知道有没有人和我一样,有点抗拒树这种结构,但还是努力学习一下吧,可能熟悉了以后就会觉得这是一个很好的工具,┭┮﹏┭┮。一个可能的答案是[0,-3,9,-10,null,5],它表示所示的高度平衡的二叉搜索树。,将其转换为高度平衡的二叉搜索树。去搜索了一下问题出现的原因,

2023-12-05 10:37:56 506

原创 TP | FP | TN | FN

True Positive,分类器预测结果为正样本,实际也为正样本,即正样本被正确识别的数量。True Negative,分类器预测结果为负样本,实际为负样本,即负样本被正确识别的数量。第一位是分类器预测是否正确,第二位表示分类器预测结果,这样记忆就很方便啦!False Positive,分类器预测结果为正样本,实际为负样本,即。False Negative,分类器预测结果为负样本,实际为正样本,即。小小的记录一下四者含义,看论文的时候总是迷糊。:(原链接写的更加清晰)

2023-12-04 16:58:41 323

原创 【链表Linked List】力扣-82 删除链表中的重复元素II

删除原始链表中所有重复数字的节点,只留下不同的数字。出错,可能出现了环?给定一个已排序的链表的头。nice 写的简洁有效啊。

2023-12-04 15:27:36 1083

原创 【链表Linked List】力扣-83 删除排序链表中的重复元素

删除所有重复的元素,使每个元素只出现一次。给定一个已排序的链表的头。

2023-12-03 12:55:43 1011

原创 【链表Liked List】力扣-61 旋转链表

旋转链表,将链表每个节点向右移动。给你一个链表的头节点。

2023-12-02 13:53:30 586

原创 【链表Linked List】力扣-24 两两交换链表中的节点

给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。下次做题,要细心一点喽。

2023-12-01 10:18:09 1189

原创 【链表Linked List】力扣-2 两数相加

纯纯罗列情况,使用链表对应位置相加做的,肯定有更简单有效的方法,但头迷迷糊糊的,改日再看吧。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。的链表,表示两个非负的整数。它们每位数字都是按照。请你将两个数相加,并以相同形式返回一个表示和的链表。的方式存储的,并且每个节点只能存储。

2023-11-30 17:24:15 377

原创 【链表Linked List】力扣-206 反转链表

简单级别的题,是个十分经典的反转单链表题目,我是使用了迭代的思想,还有递归等方法可以实现。主要注意的就是反转当前节点之前,必须要存储后继节点,因为链表自身性质,一旦指针指向其他空间,后继节点便难以获取了。,请你反转链表,并返回反转后的链表。

2023-11-29 10:12:57 442

原创 【链表Linked List】力扣-234回文链表

其中主要是使用递归方法,对链表进行后序遍历,使用right.next不断递归,直到指向链表最后一个值,此时返回true,再对前后值进行判断。由于不断递归到最后一个值,所以在开始,首先定义了一个全局变量left,用于存储链表的第一位,方便后续从后向前比对,学习了学习了。而且发现了一个奇妙的现象,第二个while循环判断的时候,两侧任意一个去掉.val都不报错了。更麻木了,有哪位清楚是什么原因吗,糊涂了。,请你判断该链表是否为回文链表。给你一个单链表的头节点。

2023-11-28 16:45:29 455

原创 【链表Linked List】力扣-25 K个一组翻转链表

哎,自己掌握的数据结构知识一点都不扎实,学的很表面,应该怎么正确返回链表头结点都没掌握。自己写的代码只能用不知所云来形容o(╥﹏╥)o ,也不想耽误太多时间,搞论文为主吧。是一个正整数,它的值小于或等于链表的长度。你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。的整数倍,那么请将最后剩余的节点保持原有顺序。个节点一组进行翻转,请你返回修改后的链表。

2023-11-27 19:19:49 395

原创 【链表Linked List】力扣-92反转链表II

若想使用递归对链表进行逆序,首先是要找到递归的起始点和终止点,题中已经给出了left和right作为其起始点和终止点,剩下的就需要考虑两个问题,①如何逆序递归,②递归后的链接。关于递归后的链接问题,使用一个global变量later来记录right位置紧邻的下一个结点。看过题解以后自己写了一下, 感觉题解就像拐棍,扔了就残...自己没有想清楚怎么反向遍历赋值,直接学习一下题解吧。

2023-11-25 15:58:10 362

原创 【链表Linked List】力扣-876链表的中间结点

给你单链表的头结点head,请你找出并返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。[3,4,5]链表只有一个中间结点,值为 3。[4,5,6]该链表有两个中间结点,值分别为 3 和 4 ,返回第二个结点。

2023-11-24 10:52:55 371

原创 【链表Linked List】力扣-160相交链表

请注意相交节点的值不为 1,因为在链表 A 和链表 B 之中值为 1 的节点 (A 中第二个节点和 B 中第三个节点) 是不同的节点。换句话说,它们在内存中指向两个不同的位置,而链表 A 和链表 B 中值为 8 的节点 (A 中第三个节点,B 中第四个节点) 在内存中指向相同的位置。从各自的表头开始算起,链表 A 为 [4,1,8,4,5],链表 B 为 [5,6,1,8,4,5]。从各自的表头开始算起,链表 A 为 [1,9,1,2,4],链表 B 为 [3,2,4]。,函数返回结果后,链表必须。

2023-11-22 10:51:58 32

原创 【链表Linked List】力扣-142环形链表2

指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数。如果链表中有某个节点,可以通过连续跟踪。链表中有一个环,其尾部连接到第二个节点。链表中有一个环,其尾部连接到第一个节点。,返回链表开始入环的第一个节点。来表示链表尾连接到链表中的位置(,仅仅是为了标识链表的实际情况。返回索引为 1 的链表节点。返回索引为 0 的链表节点。给定一个链表的头节点。如果链表无环,则返回。,则在该链表中没有环。

2023-11-21 15:25:16 34

原创 【链表Linked List】力扣-141环形链表

前面一直卡在p2.next为None的情况下,None.next出错,是不支持的,后面while循环前对p2.next进行判断,如果为None,其实也就代表没有环了,可以直接返回False。指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数。来表示链表尾连接到链表中的位置(索引从 0 开始)。错误原因:p2和p1指向同一个位置了啊,肯定不对,无语。链表中有一个环,其尾部连接到第二个节点。链表中有一个环,其尾部连接到第一个节点。仅仅是为了标识链表的实际情况。,判断链表中是否有环。

2023-11-20 10:33:40 37

原创 【链表Linked List】力扣-19删除链表的倒数第N个结点

最开始通过我也不理解 ,觉得以head=[1,2,3,4,5],n=2为例,当对p1完成是否为none的while循环判断时,p1应该为None,p2应该为[4, 5],但输出实际上p2却是[3,4,5],看到labuladong逐步可视化,突然get到原因,p1指向的是head,而p2指向的是dummy,dummy比head多了一个虚拟头结点,因此p2停止的位置应该是被删除元素的前一个元素。给你一个链表,删除链表的倒数第。个结点,并且返回链表的头结点。

2023-11-18 16:14:53 68

原创 【链表Linked List】力扣-23合并K个升序链表

也没看懂小根堆是怎么建立的,为什么针对列表的一次for循环就可以实现?题解中使用优先级队列(二叉堆),将链表节点放入一个最小堆;请你将所有链表合并到一个升序链表中,返回合并后的链表。难点:如何快速得到k个节点中的最小节点,接到结果链表上。给你一个链表数组,每个链表都已经按升序排列。将它们合并到一个有序链表中得到。自己做不出,直接看题解吧。

2023-11-15 16:57:43 43

原创 【链表Linked List】力扣-86分隔链表

labuladong题解中,每一步链表赋值,指向新地址时,都会断开与原链表的链接,因此避免了回环的情况,我的代码中只为最后一个数据赋予None,避免回环,不知道是否有其他影响。问题:列表p和q被赋值后没有及时更新到下一个结点。两个分区中每个节点的初始相对位置。,请你对链表进行分隔,使得所有。给你一个链表的头节点。

2023-11-14 14:57:06 64

原创 【链表Linked List】力扣-21合并两个有序链表

问题:返回值那里应该返回链表dummy,而不是p ,因为list是通过指针指向地址来查询和存储数据的,直接将一个list赋值给另一个list,会导致两个list都指向同一个地址,其中一个list发生改变,另一个list也会发生改变,所以相当于dummy指向list开头,而p不断使用next迭代,更新列表数据,返回值自然应该用dummy返回。新链表是通过拼接给定的两个链表的所有节点组成的。看过labuladong的题解后,自己复现一下,出现了一个错误。将两个升序链表合并为一个新的。

2023-11-13 16:36:24 36

原创 【数组Array】LeetCode-108将有序数组转换为二叉搜索树

二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。:LDR,根在中,从左往右,一棵树的左子树永远在根前面,根永远在右子树前面;无,根本不会数组转二叉树,放官方题解学习一下吧,争取下一道遇见了能会。[1,null,3] 和 [3,1] 都是高度平衡二叉搜索树。排列,请你将其转换为一棵。

2023-11-08 16:39:52 33

原创 【数组Array】LeetCode-88合并两个有序数组

注意,因为 m = 0 ,所以 nums1 中没有元素。nums1 中仅存的 0 仅仅是为了确保合并结果可以顺利存放到 nums1 中。注:方法一的思想和我实现的一样,但我的过于繁琐,原因在于没有好好利用数组切片操作和相应的排序函数,方法二的思想可以好好学习。,5,6] ,其中斜体加粗标注的为 nums1 中的元素。最终,合并后数组不应由函数返回,而是存储在数组。需要合并 [1,2,3] 和 [2,5,6]。需要合并的数组是 [] 和 [1]。需要合并 [1] 和 []。中,使合并后的数组同样按。

2023-11-07 11:03:27 32

原创 【数组Array】LeetCode-66加一

注:官方题解中的for循环使用从后向前遍历,这种方式应该学习, range(start, stop[, step])问题:依旧未理解题意,题目是指将数组每个元素都合在一起,视为一个数,整体加一进位,服了。也不应该用转换成数字再转数组的方式,很差,使用别的语言会溢出;问题:第一个for循环忘记累加,导致输出错误的累加和。最高位数字存放在数组的首位, 数组中每个元素只存储。问题:未理解题意,每个元素只存储单个数字!数组所表示的非负整数,在该数的基础上加一。输入数组表示数字 4321。输入数组表示数字 123。

2023-11-06 15:43:41 96

原创 【数组Array】LeetCode-35搜索插入位置

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。根据要求的时间复杂度,暴力解法不符合,问题:没有考虑到超出原始边界数字的情况。问题:未考虑到mid定义位置问题。请必须使用时间复杂度为。

2023-11-04 16:35:53 50

原创 【数组Array】LeetCode-27移除元素

元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。是以“引用”方式传递的。也就是说,不对实参作任何拷贝。// 根据你的函数返回的长度, 它会打印出数组中。// 在函数里修改输入数组对于调用者是可见的。为什么返回数值是整数,但输出的答案是数组呢?不要使用额外的数组空间,你必须仅使用。的元素,并返回移除后数组的新长度。官方无python题解,借鉴C++请注意,输入数组是以。

2023-11-03 16:59:45 37

原创 【数组Array】LeetCode-26删除有序数组中的重复项

问题:返回值格式出错(同时发现a的返回长度少1,for和zip循环中多了一个括号)int[] expectedNums = [...];// 长度正确的期望答案。问题:解答错误,输出数量一致,但输出内容不对。如果所有断言都通过,那么您的题解将被。,返回删除后数组的新长度。删除重复出现的元素,使每个元素。

2023-11-01 19:31:26 39

空空如也

空空如也

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

TA关注的人

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