自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Problem: 53. 最大子数组和

考虑动态规划,把问题分解为小的子问题,在这个问题中我们把子问题dp[i]定义为以nums[i]结尾的连续子数组的最大值。以测试用例1为例,现在nums=[-2,1,-3,4,-1,2,1,-5,4],则初始值dp[0]=-2,dp[1]=-2+1=-1,dp[2]=-2+1=-1……,注意对于每个时刻的dp[i],有。时间复杂度:O(n)空间复杂度:O(n)

2024-05-27 14:59:15 126

原创 Problem: 42.接雨水

这个问题可以这样模拟:我们每一格能盛放的水的容量其实取决于这一格的左边的单位高度和右边的单位高度,拿第三个格举例,左边的单位高度为1,右边的单位高度为2,同时这一格是没有黑色柱子的,所以这一格能存储的容量就是min(左边高度—右边高度)— 黑色柱子的高度!两个循环遍历记录下当前位置左边的单位高度的最大值pre_max以及当前位置右边的单位高度最大值suf_max,问题的解就等于每一格的min(pre_max,suf_max)减去当前格子的黑色柱子的高度。时间复杂度:O(n)空间复杂度:O(n)

2024-05-21 21:01:38 182

原创 Problem: 15.三数之和

先对数组进行排序,然后固定一个数nums[k],然后再用两个指针分别指向k+1,len(nums)-1,在循环过程中要注意去除重复元素。另外还有一个隐藏的终止循环条件,即如果此时nums[k]>0,那么直接break。三重循环后再去重,但是时间复杂度会达到O(n3),提交后无法通过测试用例。犹豫不决先排序,步步逼近双指针。

2024-05-19 18:57:41 92

原创 Problem: 11. 盛最多水的容器

典型的双指针问题,一开始i指向数组最左端,j指向最右端,循环条件当i<j时,求取此时的面积,并放入一个列表中存储,然后比较此时的height[i]与height[j]哪个更大,如果height[i]更大,那么指针j左移,反之,指针i右移。最终返回列表中最大的面积,完美解决!

2024-05-14 21:37:04 186

原创 Problem: 128. 最长连续序列

首先用set去除重复元素,因为重复元素并不影响最长连续序列的长度。然后定义两个列表,一个用来记录当前的最长连续序列,一个用来记录每个最长连续序列的长度。在循环里面用条件判断当前数字能否维持之前的最长连续序列即可,要注意的是下标越界以及整个序列就是最长连续序列的问题。

2024-05-13 19:07:42 179

原创 Problem: 49. 字母异位词分组

这题耗费了很多时间,一开始想的是从头开始遍历列表中的每个字符串,然后创建一个列表str_each_list来记录每一个字符串的字母,接着第二遍遍历列表,判断后续字符串的长度是否等于str_each_list的长度且str_each_list是否in后续字符串,如果是,则表明是字母异位词。最终我还是选择了官方解法,官方解法的思路是先创建一个value为字典的列表,然后将每个乱序后的字符串作为key,再把字符串加入到列表里,可以这么做的原因是因为字母异位词经过sorted后是一样的。

2024-05-13 17:13:47 228

原创 Problem: 1572. 矩阵对角线元素的和

因为是正方形矩阵,所以len(mat) == len(mat[0]),用这个作为循环条件,把所有元素加起来,如果len(mat)%2 == 1,那么就再把对角线相交的那个点的值再减一遍即可。把前几种矩阵对角线元素相加的情况列举一下,方可发现主对角线与副对角线元素下标的规律。时间复杂度: O(n)

2024-05-10 19:20:14 134

原创 Problem: 1672. 最富有客户的资产总量

其实就是对列表中的每一个列表中的数字求和,统计出每位客户的资产总额,再求出一个最大值,即为问题答案。先定义一个列表accounts_each,把每一个客户的资产总量添加到里面,再返回最大值。时间复杂度:O(n)

2024-05-10 19:15:20 110

原创 Problem: 13. 罗马数字转整数

从后往前用while循环处理罗马数字字符串,当遇到成对的特殊罗马数字时,便进行相应的特殊处理,并让index-=2。对于每一个ifelse里面的处理都把结果添加到final_num中,最后返回final_num。好久没有做过题,记得之前有接触到这一题,也是罗马数字转阿拉伯数字,不过要比这题简单。看了官方给的提示后逐渐有了思路,应该先用字典建立一个罗马数字与阿拉伯数字的映射,再从后往前处理这个罗马数字字符串。

2024-05-10 19:11:58 140

原创 Problem: 1523. 在区间范围内统计奇数数目

正常人想法,循环遍历,统计奇数个数,提交发现超时。看提示后惊觉可以总结规律,分为两种情况讨论。

2024-05-10 18:59:11 97

原创 Problem: 67. 二进制求和

先创建一个列表用来存储我们的相加结果,然后按情况分别讨论,分别是两位都是1且进位也是1,两位都是1,以及其它情况。当两个字符串都遍历完后,分别检查a或b是否还有剩余的数字,再分别进行相应的处理。最终把列表逆置一下,因为它存储的是相加后每位从后往前的结果。既然是二进制求和,则可用二进制求和手算的方法模拟,并用代码实现,即对a和b两个二进制数,从末位开始相加,如遇到两个数字相加大于1,则有进位,下一位相加时就需考虑进位,若两个数字相加小于等于1,则无进位,继续按照从右往左的顺序逐位相加即可。

2024-05-10 18:51:43 189

原创 Problem: 73. 矩阵置零

一开始看到后并没有任何思路,随便看了下提示便开始写,没想到一次就通过了。空间复杂度: 在我看来是O(1),但是不太确定。时间复杂度: O(n²)见代码,非常容易理解。

2024-05-10 18:31:31 124

原创 编程题 7-30 字符串的冒泡排序(python解答)

我们已经知道了将N个整数按从小到大排序的冒泡排序法。本题要求将此方法用于字符串序列,并对任意给定的K(

2023-08-10 15:57:00 152 1

原创 编程题 7-36 复数四则运算(python解答)

本题要求编写程序,计算2个复数的和、差、积、商。

2023-08-09 16:13:25 287

原创 编程题 7-26 单词长度(python解答)

你的程序要读入一行文本,其中以空格分隔为若干个单词,以结束。你要输出每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如it's算一个单词,长度为4。注意,行中可能出现连续的空格;最后的不计算在内。

2023-08-09 14:38:55 377

原创 编程题 7-31 字符串循环左移(python解答)

输入一个字符串和一个非负整数N,要求将字符串循环左移N次。

2023-08-09 11:08:18 123

原创 函数题 6-13 折半查找

PTA基础编程题目集

2023-05-03 20:46:12 132

原创 函数题 6-12 判断奇偶性

PTA基础编程题目集

2023-05-03 20:43:16 91

原创 函数题 6-9 统计个位数字

PTA基础编程题目集

2023-05-03 20:42:32 202

原创 函数题 6-8 简单阶乘计算

PTA基础编程题目集

2023-05-03 20:34:45 57

原创 函数题 6-7 统计某类完全平方数

PTA基础编程题目集

2023-05-03 19:28:25 101

原创 函数题 6-6 求单链表结点的阶乘和

PTA基础编程题目集

2023-05-03 19:12:22 267

原创 函数题 6-5 求自定类型元素的最大值

PTA基础编程题目集

2023-05-03 18:51:00 174

原创 函数题 6-4 求自定类型元素的平均

Pta基础编程题目集

2023-03-13 13:47:46 81

原创 函数题 6-3 简单求和

Pta基础编程题目集

2023-03-13 13:46:52 72

原创 函数题 6-2 多项式求值

Pta基础编程题目集

2023-03-13 13:43:18 125

原创 函数题 6-1 简单输出整数

Pta基础编程题目集

2023-03-13 13:41:09 42

空空如也

空空如也

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

TA关注的人

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