自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MyTM-写在前面

(之后补)

2024-03-01 19:46:43 87

原创 49-设计问题-最小栈

因为 dp[1][i] 表示偷了这一家所以前一家必定不能偷,只能是 dp[0][i-1] 但是又因为偷了当前这个一家收益还要增加 nums[i]你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,偷窃 1 号房屋 (金额 = 2), 偷窃 3 号房屋 (金额 = 9),接着偷窃 5 号房屋 (金额 = 1)。因为 dp[0][i] 表示没有偷这一家所以偷没偷前面的一家无所谓,返回二者中的最大值。,一夜之内能够偷窃到的最高金额。

2023-11-26 15:43:02 53

原创 47-设计问题-最小栈

因为 dp[1][i] 表示偷了这一家所以前一家必定不能偷,只能是 dp[0][i-1] 但是又因为偷了当前这个一家收益还要增加 nums[i]你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,偷窃 1 号房屋 (金额 = 2), 偷窃 3 号房屋 (金额 = 9),接着偷窃 5 号房屋 (金额 = 1)。因为 dp[0][i] 表示没有偷这一家所以偷没偷前面的一家无所谓,返回二者中的最大值。,一夜之内能够偷窃到的最高金额。

2023-11-24 13:34:34 58

原创 47-设计问题-最小栈

因为 dp[1][i] 表示偷了这一家所以前一家必定不能偷,只能是 dp[0][i-1] 但是又因为偷了当前这个一家收益还要增加 nums[i]你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,偷窃 1 号房屋 (金额 = 2), 偷窃 3 号房屋 (金额 = 9),接着偷窃 5 号房屋 (金额 = 1)。因为 dp[0][i] 表示没有偷这一家所以偷没偷前面的一家无所谓,返回二者中的最大值。,一夜之内能够偷窃到的最高金额。

2023-11-23 11:26:59 103

原创 46-设计问题-最小栈

因为 dp[1][i] 表示偷了这一家所以前一家必定不能偷,只能是 dp[0][i-1] 但是又因为偷了当前这个一家收益还要增加 nums[i]你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,偷窃 1 号房屋 (金额 = 2), 偷窃 3 号房屋 (金额 = 9),接着偷窃 5 号房屋 (金额 = 1)。因为 dp[0][i] 表示没有偷这一家所以偷没偷前面的一家无所谓,返回二者中的最大值。,一夜之内能够偷窃到的最高金额。

2023-11-22 13:46:13 39

原创 45-设计问题-最小栈

因为 dp[1][i] 表示偷了这一家所以前一家必定不能偷,只能是 dp[0][i-1] 但是又因为偷了当前这个一家收益还要增加 nums[i]你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,偷窃 1 号房屋 (金额 = 2), 偷窃 3 号房屋 (金额 = 9),接着偷窃 5 号房屋 (金额 = 1)。因为 dp[0][i] 表示没有偷这一家所以偷没偷前面的一家无所谓,返回二者中的最大值。,一夜之内能够偷窃到的最高金额。

2023-11-21 14:35:27 30

原创 44-设计问题-最小栈

因为 dp[1][i] 表示偷了这一家所以前一家必定不能偷,只能是 dp[0][i-1] 但是又因为偷了当前这个一家收益还要增加 nums[i]你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,偷窃 1 号房屋 (金额 = 2), 偷窃 3 号房屋 (金额 = 9),接着偷窃 5 号房屋 (金额 = 1)。因为 dp[0][i] 表示没有偷这一家所以偷没偷前面的一家无所谓,返回二者中的最大值。,一夜之内能够偷窃到的最高金额。

2023-11-20 21:32:42 74

原创 43-设计问题-最小栈

因为 dp[1][i] 表示偷了这一家所以前一家必定不能偷,只能是 dp[0][i-1] 但是又因为偷了当前这个一家收益还要增加 nums[i]你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,偷窃 1 号房屋 (金额 = 2), 偷窃 3 号房屋 (金额 = 9),接着偷窃 5 号房屋 (金额 = 1)。因为 dp[0][i] 表示没有偷这一家所以偷没偷前面的一家无所谓,返回二者中的最大值。,一夜之内能够偷窃到的最高金额。

2023-11-19 21:06:01 921

原创 41-设计问题-最小栈

因为 dp[1][i] 表示偷了这一家所以前一家必定不能偷,只能是 dp[0][i-1] 但是又因为偷了当前这个一家收益还要增加 nums[i]你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,偷窃 1 号房屋 (金额 = 2), 偷窃 3 号房屋 (金额 = 9),接着偷窃 5 号房屋 (金额 = 1)。因为 dp[0][i] 表示没有偷这一家所以偷没偷前面的一家无所谓,返回二者中的最大值。,一夜之内能够偷窃到的最高金额。

2023-11-17 21:15:01 804

原创 40-设计问题-最小栈

因为 dp[1][i] 表示偷了这一家所以前一家必定不能偷,只能是 dp[0][i-1] 但是又因为偷了当前这个一家收益还要增加 nums[i]你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,偷窃 1 号房屋 (金额 = 2), 偷窃 3 号房屋 (金额 = 9),接着偷窃 5 号房屋 (金额 = 1)。因为 dp[0][i] 表示没有偷这一家所以偷没偷前面的一家无所谓,返回二者中的最大值。,一夜之内能够偷窃到的最高金额。

2023-11-16 20:22:29 62

原创 40-设计问题-最小栈

因为 dp[1][i] 表示偷了这一家所以前一家必定不能偷,只能是 dp[0][i-1] 但是又因为偷了当前这个一家收益还要增加 nums[i]你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,偷窃 1 号房屋 (金额 = 2), 偷窃 3 号房屋 (金额 = 9),接着偷窃 5 号房屋 (金额 = 1)。因为 dp[0][i] 表示没有偷这一家所以偷没偷前面的一家无所谓,返回二者中的最大值。,一夜之内能够偷窃到的最高金额。

2023-11-15 21:35:17 61

原创 39-设计问题-最小栈

因为 dp[1][i] 表示偷了这一家所以前一家必定不能偷,只能是 dp[0][i-1] 但是又因为偷了当前这个一家收益还要增加 nums[i]你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,偷窃 1 号房屋 (金额 = 2), 偷窃 3 号房屋 (金额 = 9),接着偷窃 5 号房屋 (金额 = 1)。因为 dp[0][i] 表示没有偷这一家所以偷没偷前面的一家无所谓,返回二者中的最大值。,一夜之内能够偷窃到的最高金额。

2023-11-14 21:49:27 16

原创 38-设计问题-打乱数组

因为 dp[1][i] 表示偷了这一家所以前一家必定不能偷,只能是 dp[0][i-1] 但是又因为偷了当前这个一家收益还要增加 nums[i]你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,偷窃 1 号房屋 (金额 = 2), 偷窃 3 号房屋 (金额 = 9),接着偷窃 5 号房屋 (金额 = 1)。因为 dp[0][i] 表示没有偷这一家所以偷没偷前面的一家无所谓,返回二者中的最大值。,一夜之内能够偷窃到的最高金额。

2023-11-13 22:59:00 23

原创 37-动态规划-打家劫舍

dp[0][i]=max(dp[0][i-1],dp[1][i-1])(因为dp[0][i]没有偷序号i家所以偷没偷前面一家无所谓,返回二者中的最大值),dp[1][i]=dp[0][i-1]+nums[i](因为dp[1][i]偷了序号i家所以前一家必定不能偷,只能是dp[0][i-1],并且还要加上偷了序号i家获得的收益nums[i])。再思考一下发现不重复不遗漏,最后结果返回max(dp[0][n-1],dp[1][n-1]),完成。,所以以这个元素作为新的子数组的开头重新考虑新的子数组)。

2023-11-12 16:45:21 15

原创 36-动态规划-最大子序和

对于这两种情况而言,因为目标是求 最大 子序和,所以最终的结果应该取二者的最大值,于是得到递推关系 dp[i] = max(dp[i-1] + nums[i], nums[i])。如果 nums[0] 小于 0,那么此时不能取 max(nums[0], 0) 否则计算最大子序和的时候会存在 子数组为空数组 的非法情况,所以也需要让 dp[0] = nums[0] 保证子数组中至少存在一个元素)。,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。是数组中的一个连续部分。

2023-11-10 19:39:27 27

原创 35-动态规划-买卖股票的最佳时机

的第一个数永远用不上,就先设置为 0。先遍历一遍数组得到前缀数组,再遍历一遍数组,用当前位置的数减去它在前缀数组中对应的最小值得到。在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。(因为收益不应该为负数,否则不划算,所以这个值如果是负数则不讨论),对于每一个位置(每一天)而言,所有的。同时,你不能在买入前卖出股票。返回你可以从这笔交易中获取的最大利润。设计一个算法来计算你所能获取的最大利润。(不包含这个位置的数)的所有数中的。

2023-11-09 20:18:39 17

原创 34-动态规划-爬楼梯

的角度考虑的,对于从 i - 2 级一阶一阶爬上去的情况,就会和从 i - 1 级爬一阶冲突,所以这种情况已经被包含,不需要单独考虑)。:要么从 i - 1 级爬一阶,要么从 i - 2 级爬两阶(这是从。表示爬到第 N 级台阶共 dp[n-1] 种方法。你有多少种不同的方法可以爬到楼顶呢?(两次都爬一阶和一次爬两阶)。1. 1 阶 + 1 阶 + 1 阶。有两种方法可以爬到楼顶。1. 1 阶 + 1 阶。有三种方法可以爬到楼顶。2. 1 阶 + 2 阶。3. 2 阶 + 1 阶。

2023-11-08 22:07:53 15

原创 33-排序和搜索-第一个错误的版本

你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。设置左右边界分别为 1 和 n,在这个区间内进行二分搜索,如果 mid 是错误版本那么取左区间,如果 mid 是正确版本取右区间,最终的结果就是第一个错误版本。是否在单元测试中出错。实现一个函数来查找第一个错误的版本。你应该尽量减少对调用 API 的次数。,你想找出导致之后所有版本出错的第一个错误的版本。所以,4 是第一个错误的版本。

2023-11-07 15:04:22 14

原创 32-排序和搜索-合并两个有序数组

注意,因为 m = 0 ,所以 nums1 中没有元素。nums1 中仅存的 0 仅仅是为了确保合并结果可以顺利存放到 nums1 中。放在数组 nums1 的末尾,然后向前移动最大者对应的指针。,5,6] ,其中斜体加粗标注的为 nums1 中的元素。后,每次的最大者就都是另一个未到达边界的指针对应的数了。最终,合并后数组不应由函数返回,而是存储在数组。需要合并 [1,2,3] 和 [2,5,6]。需要合并的数组是 [] 和 [1]。需要合并 [1] 和 []。中,使合并后的数组同样按。

2023-11-06 13:17:25 17

原创 31-树-将有序数组转换为二叉搜索树

先将这一层的结果存下来,然后将它们的两个子节点中不为空的子节点加入到队尾(便于下一层再遍历),然后让当前节点出队。一直运行上述步骤直到队列为空,说明没有新的节点了,辅助数组中存储的元素就是二叉树的规模 N 并且辅助队列存储的元素一定不超过二叉树的规模。二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。[1,null,3] 和 [3,1] 都是高度平衡二叉搜索树。队列中(注意每遍历一层之前都要获取。对于每一层而言,遍历队列中。排列,请你将其转换为一棵。存储结果,创建了一个。

2023-11-05 20:07:23 18

原创 30-树-二叉树的层序遍历

先将这一层的结果存下来,然后将它们的两个子节点中不为空的子节点加入到队尾(便于下一层再遍历),然后让当前节点出队。一直运行上述步骤直到队列为空,说明没有新的节点了,辅助数组中存储的元素就是二叉树的规模 N 并且辅助队列存储的元素一定不超过二叉树的规模。(即逐层地,从左到右访问所有节点)。队列中(注意每遍历一层之前都要获取。对于每一层而言,遍历队列中。存储结果,创建了一个。

2023-11-03 18:14:51 17

原创 29-树-对称二叉树

时,先判断当前节点:如果当前两个节点都为空返回 true 说明这个部分是对称的;如果有一个节点为空另一个节点不为空返回 false 说明这个部分不对称;如果两个节点都不为空又可以分为两种情况:如果两个节点的值不相等返回 false 说明这个部分不对称;如果两个节点的值相等那么继续。两个子树中有一个位置不对称那么就认为整棵树都不对称,而如果认为这棵树对称则必须要求两个子树的所有位置都对称。,而这里的栈空间占用主要取决于递归的深度,假设。的结果都为 true 时,对于这个。, 检查它是否轴对称。

2023-11-02 14:31:56 23

原创 28-树-验证二叉搜索树

中序遍历(左->中->右)整个二叉树,将遍历结果存入一个数组中。遍历数组判断中序遍历的结果是否单调递增,若是则为二叉搜索树,否则就不是二叉搜索树。根节点的值是 5 ,但是右子节点的值是 4。,判断其是否是一个有效的二叉搜索树。给你一个二叉树的根节点。

2023-11-01 11:43:04 26

原创 27-树-二叉树的最大深度

的思想,递归地计算出二叉树左子树和右子树的最大深度,然后取二者最大值加一作为整个二叉树的最大深度。注意递归在访问到空节点时返回 0 表示递归到了叶子节点,这个子树的最大深度为 0。这个等式关系对于二叉树中的任意子节点都成立,都可以据此求出以这个子节点为根节点的子树的最大深度。是指从根节点到最远叶子节点的最长路径上的节点数。,而这里的栈空间占用主要取决于递归的深度,假设。)得到,即 maxDepth =

2023-10-31 15:04:58 30

原创 26-链表-环形链表

指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数。如果快指针指向空节点或者快指针的 next 指针指向空节点,说明没有环(因为。来表示链表尾连接到链表中的位置(索引从 0 开始)。如果链表中有某个节点,可以通过连续跟踪。链表中有一个环,其尾部连接到第二个节点。链表中有一个环,其尾部连接到第一个节点。),结束循环返回 false。(上面的思路是可以证明的,并且可以。仅仅是为了标识链表的实际情况。,两个指针同时指向头节点。,判断链表中是否有环。给你一个链表的头节点。

2023-10-30 23:01:00 24

原创 25-链表-回文链表

先遍历链表,将链表中的每个元素顺序存入数组。从数组两头向中间遍历判断是否回文。,请你判断该链表是否为回文链表。给你一个单链表的头节点。

2023-10-29 19:10:40 18

原创 24-链表-合并两个有序链表

用两个指针分别遍历两个链表,同时从链表的头节点开始。每次取两个指针指向的值的较小者加入新链表,并将对应的指针右移。如果其中一个链表已经遍历到头,那么把另一个链表的节点加入新链表。新链表是通过拼接给定的两个链表的所有节点组成的。存储合并后的结果,取两个链表中的。将两个升序链表合并为一个新的。

2023-10-27 20:30:00 21

原创 23-链表-反转链表

先遍历一遍链表存入一个数组中,然后创建一个新的链表,反序遍历数组并将数组内容存入新链表,返回新建的那个链表头节点。注意对空链表的特判。创建了一个辅助数组长度为 N,创建了一个新的链表长度为 N 存储反转后的结果。,请你反转链表,并返回反转后的链表。

2023-10-26 20:31:48 16

原创 22-链表-删除链表的倒数第N个节点

即它的 next 节点是 nullptr 而不能是他本身是 nullptr。如果右指针在最开始时已经移动到最后一个节点了,说明此时需要删除的是头节点。就是要删除的节点,删除该节点。给你一个链表,删除链表的倒数第。个结点,并且返回链表的头结点。,初始位置都是头节点。(一次一个节点),直到。

2023-10-25 20:45:51 16

原创 21-链表-删除链表中的节点

解决方案:对于当前节点 A 而言,由于链表的单向性可以知道 A 的下一个节点 B,如果先让 A 节点的值变为 B(相当于此时已经删掉了 A,但是却出现了两个一样的 B),然后将后面的 B 删除(只能删除后面的 B 因为前面说了没有前一个 B (原先的 A)的上一个节点信息),就相当于删除了 A,非常有意思。正常的删除操作:首先需要知道 A 的前一个节点,然后通过修改 A 的前一个节点的 next 指针的指向来删除 A。当前的困难:节点 A 已经给出,但没有给出获取 A 的前一个节点的途径。

2023-10-24 19:56:29 887

原创 20-字符串-最长公共前缀

以这个最小值 m 为基准,从 0 索引开始,取第一个字符串的第 i 个元素作为判定标准,判断所有字符串的第 i 个元素是否都与这个标准元素相同,如果都相同则加入结果中;但凡有一个不同则直接返回当前结果。因为所有字符串中的最小长度为 m,所以结果最长也为 m。编写一个函数来查找字符串数组中的最长公共前缀。存储结果,最坏情况下辅助字符串长度为 M 即。先遍历了一遍原数组长度为 N,之后是一个。先遍历一遍数组,记录所有字符串长度中的。如果不存在公共前缀,返回空字符串。输入不存在公共前缀。

2023-10-23 20:02:09 23 1

原创 19-字符串-外观数列

一定不会出现十位数以上的 count,更换进一步地,count 的值最多为 3(如果4个及以上的话会在之前合并,根本生成不出来的),根据这个结论可以一定程度上简化遍历搜索的时间复杂度(但其实差别不大)。的,外层循环的遍历次数是外观数列的构造次数 N,内层循环的遍历次数是外观数列的长度,这里取最长的外观数列长度,假设为 M,那么复杂度为二者乘积。在遍历结束后,用新的字符串替换原先的字符串,就得到了长度为 l + 1 的字符串的外观数列。然后对于每个组,先描述字符的数量,然后描述字符,形成一个描述组。

2023-10-22 20:15:00 24 1

原创 18-字符串-实现 strStr()

其中 N 和 M 分别是 haystack 和 needle 的长度。又因为 N 和 M 的取值范围相同,那么。"leeto" 没有在 "leetcode" 中出现,所以返回 -1。字符串的第一个匹配项的下标(下标从 0 开始)。第一个匹配项的下标是 0 ,所以返回 0。算法了,这里就先不折磨自己了(以后补上)。将 M 近似地认为更坏的(更长的)情况 N。"sad" 在下标 0 和 6 处匹配。应该不会超时(擦边),所以直接暴力匹配。如果数据量再大一些就不得不使用。是两层循环的,所以复杂度为。

2023-10-20 22:18:32 25 1

原创 17-字符串-字符串转换整数 (atoi)

虽然代码的实现上其实是将原字符串进行一段一段的逐个判断,但是在思路上是借鉴了有限状态机的思想,只不过这样实现更好理解也更容易一些。第 2 步:"4193 with words"(当前没有读入字符,因为这里不存在 '-' 或者 '+')由于 "-42" 在范围 [-2^31, 2^31 - 1] 内,最终结果为 -42。由于 "42" 在范围 [-2^31, 2^31 - 1] 内,最终结果为 42。第 2 步:"42"(当前没有读入字符,因为这里不存在 '-' 或者 '+')

2023-10-19 21:58:13 39 1

原创 16-字符串-验证回文串

创建一个空字符串,先遍历一遍原字符串,将符合要求的字符加入新字符串,并改变字母大小写。单指针遍历新字符串的前半部分,判断每个字符和其对应后半部分的字符是否相同,如有不同则结果为false,若全部相同则结果为true。如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。"amanaplanacanalpanama" 是回文串。在移除非字母数字字符之后,s 是一个空字符串 ""。由于空字符串正着反着读都一样,所以是回文串。,最坏情况下辅助字符串和原字符串等长。

2023-10-18 20:46:14 40 1

原创 15-字符串-有效的字母异位词

遍历字符串 t,判断每一个字母是否在哈希表中。如果存在且出现次数大于 0 则把出现次数 -1;如果出现次数小于等于 0 或者不在哈希表中则认为不是有效的字母异位词,返回 false。如果遍历完 t 仍然没有返回 false 则认为是有效的字母异位词,返回 true。,如果不等长直接返回 false,以此避免后面因为用长字符串匹配短字符串造成的误判。键存储 s 中出现的字母,值存储这个字母出现的次数。中每个字符出现的次数都相同,则称。最坏情况下哈希表大小为 N。,编写一个函数来判断。

2023-10-17 20:16:39 14

原创 14-字符串-字符串中的第一个唯一字符

遍历原数组,每遇到一个未出现过的字符就把它加入哈希表中;每遇到出现过的字符则将该字符相应的索引(哈希表中对应的值)变为 -1,表示非唯一字符。再遍历哈希表,找到所有不等于 -1 的值中的最小值,就是不重复元素的最小的索引;如果找不到不等于 -1 的值,说明没有不重复的元素,那么返回 -1 即可。它的第一个不重复的字符,并返回它的索引。键存储出现的字符,值存储字符相应的索引。最坏情况下哈希表大小为 N。最坏情况下哈希表大小为 N。

2023-10-16 22:59:18 21 1

原创 13-字符串-整数反转

如果 x 正好 10 位,将 x 反转后的数组和 INT_MAX = 2,147,483,647 这个数字组成的数组从前往后逐一数字进行比较,如果小于等于INT_MAX才可以转化成数字,否则直接按照越界处理(返回 0)。虽然创建了两个辅助数组记录 x 每一位的值和 INT_MAX 的值,但是因为 x 最多 10 位并且 INT_MAX 也只有 10 位,所以仍然是常数级别的复杂度。整数反转的思路就是创建一个数组,将这个整数的每一位都存入数组中,然后反转这个数组再按照位置加权求和得到反转后的数。

2023-10-15 22:28:17 25 1

原创 12-字符串-反转字符串

遍历前面一半(n/2),和后面一半相应位置的值进行交换(用swap()函数就可以)。编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组。、使用 O(1) 的额外空间解决这一问题。不要给另外的数组分配额外的空间,你必须。

2023-10-13 19:46:39 36

原创 11-数组-旋转图像

旋转图像,这意味着你需要直接修改输入的二维矩阵。请你将图像顺时针旋转 90 度。两次对称都需要遍历一半的矩阵,那么总共认为。对角线轴对称,再按照竖直的对称轴轴对称。时针旋转90°相当于把矩阵按照。使用另一个矩阵来旋转图像。

2023-10-12 18:30:28 36 1

空空如也

空空如也

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

TA关注的人

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