自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 力扣刷题day017——有效的括号

本题要求并不算难,我们可以从栈的方法出发来弄这一题。具体思路就是,如果栈内的元素能构成相邻的一对正反括号,就让他们两个出栈。按这个要求,遍历字符入栈即可。,判断字符串是否有效。

2024-05-31 22:06:38 163

原创 力扣刷题day016——删除链表的导数第N个

快慢指针是指,用一个早出发的指针fast,和一个慢出发的指针slow来确保我们删除的节点是列表的倒数第N个数的方法。你想,快指针fast先走出N个步长,这个时候两个指针的距离是不是就是N了,然后我们再让快慢两个指针同时往后走,当快指针走完链表时,慢指针走到的就是倒数第N个数了。被快慢指针法惊到了,所以我们这次就用所谓的快慢指针法来做这个题目。这道题在做的时候最好需要设置一个哑节点来指向表头,这样就可以避免当链表只有一个元素的尴尬情况。(第18行后,注释的代码是不需要哑节点的方法,大家也可以看一下)

2024-05-29 23:02:54 617

原创 力扣刷题day015——四数之和

这个题目的思路还是和之前的三数之和有共通之处的,今天试试用多指针的循环语句来实现吧,虽然因为循环的嵌套会导致速度降低,但是这种方法比较好想。# 如果和等于目标值,添加到结果列表中,并跳过重复的元素。# 如果和小于目标值,移动较小的指针。# 如果和大于目标值,移动较大的指针。# 跳过重复的第三个数。# 跳过重复的第四个数。# 外层循环,控制两个数,内层循环也控制第三第四个数。# 跳过与上一个元素相同的元素。# 初始化结果列表,没有结果就返回空列表。# 初始化内层循环的指针。请你找出并返回满足下述全部条件且。

2024-05-28 23:39:16 974

原创 力扣刷题day014——电话号码的字母组合

递归调用backtrack,传入当前字母组合加上当前字母,以及去掉第一个字符的nextdigit。# 如果nextdigit为空,说明所有数字都已经处理完毕,将当前字母组合加入到结果列表res中。这里回溯法主要用在,当一个数字对应的字母还有下一个字母存在时,都传入这个字母,直到没有下一个字母存在。# 如果输入的字符串digits为空,则直接返回一个空列表。# 定义一个字典phone,用于映射数字到其对应的字母。这个题目我们可以通过建立一个数字对应字母的字典,然后使用回溯法来做。

2024-05-27 23:19:24 819

原创 力扣刷题day012补——最接近的三数之和

所以我们可以使用加入指针,先对数组进行排序,然后分别从数组开始,和数组结尾引入两个指针。# 如果当前和大于目标值,说明需要减小和,因此移动k指针(指向较大数的指针)# 如果当前和小于目标值,说明需要增大和,因此移动j指针(指向较小数的指针)因为排序完成后,数组就是从小到大的数组了,所以我们数组开始的指针往右走就是逐渐变大,反之一个则是逐渐变小。# 如果当前和与目标值的差的绝对值小于之前记录的最小差值,则更新答案。# 初始化双指针,j指向当前元素的下一个位置,k指向数组的最后一个位置。

2024-05-26 22:34:01 527

原创 力扣刷题day013——三数之和

然后我们看题目是要和为0的整数数组,那么肯定必须要有整数和负数共同存在,或者全是0这种情况。于是我们就想到对数组进行排序,这样我们就可以根据数所在的位置来判断数的大小,然后可以使用一个外层循环。# 如果当前数字大于0,则由于数组已排序,不可能再找到三个数的和为0。L = i + 1 # 左指针,初始化为当前数字后面的位置。R -= 1 # 如果和大于0,移动右指针。L += 1 # 如果和小于0,移动左指针。R = n - 1 # 右指针,初始化为数组末尾。大,不可能再组成和为0的三元组。

2024-05-24 23:44:52 578 1

原创 力扣刷题day11——最长公共前缀

while not s.startswith(prefix): # 使用startswith来检查prefix是否是s的前缀。看到求最长公共前缀,可以想到startswith方法,它的作用就是比较一个字符串是否是另一个字符串的前缀,如果是就返回True,不是就返回False。if not prefix: # 如果prefix已经为空,则直接返回空字符串。prefix = prefix[:-1] # 如果不是,则缩短prefix。if not strs: # 如果列表为空,返回空字符串。

2024-05-22 23:05:10 237 1

原创 力扣刷题day10——整数转罗马数字

这题乍一看好像好麻烦的样子,什么数字是不是4或9开头之类的,巴拉巴拉了一大堆,但仔细一看其实题目把每个数值对应的罗马字符已经给我们了。仔细看,其中4,9开头的转化在第二条规则里面提到了。所以我们可以用两个列表来依次储存阿拉伯数字,罗马数字的对应值。让他们的下标对应起来,这样就可以使用一个索引来同时表示两个列表中对应的下标了。# num // values[i] 用来确定 valus 里从下标为0的数到最后一个数 ,它们每个出现的次数。#然后把根据索引,把罗马数字依次填入字符串 roman_num 中。

2024-05-21 23:11:43 259 1

原创 力扣刷题day009——盛水最多的容器

res = max(res, min_height * (j - i)) # 计算面积并更新最大面积。min_height = min(height[i], height[j]) # 获取较小的高度。双指针,指针下标的差来当作底,然后height的值,取大的一个为高。遍历来一直更新,直到计算出最大面积。轴共同构成的容器可以容纳最多的水。找出其中的两条线,使得它们与。返回容器可以储存的最大水量。

2024-05-20 23:32:43 129 1

原创 力扣刷题day008——回文数

用遍历写了好几行,这么一看,自己和大佬的差距还真是大啊,这就是算法么?是指正序(从左向右)和倒序(从右向左)读都是一样的整数。字符串的切片可以让字符串倒序。是一个回文整数,返回。

2024-05-19 23:26:21 212 1

原创 力扣刷题day007——字符串转换整数

Python的int类型可以处理很大的数,但为了题目要求,我们仍然需要模拟这个过程。# 如果为正数且溢出,返回最大值。# 如果为负数且溢出,返回最小值。# 在这里需要处理整数溢出的情况。# 如果字符串为空或只有空格,返回0。函数,使其能将字符串转换成一个 32 位有符号整数。# 返回最终结果,考虑符号。# 初始化结果并转换数字。返回整数作为最终结果。

2024-05-18 23:41:25 638

原创 力扣刷题day006——整数反转

min_x = 2 ** 31 #负数的最小值(注意这里用不用加上负号,我们把符号留到最后判断)所以可以想到将x里面的数一个一个取出来,然后放到一个我们设定的字符串里面去,最后加上符号的方法。#如果反转后的结果res大于边界值,说明溢出,直接返回0。#无符号右移4位等价于y //= 10,即去掉y的个位数。#取x的绝对值,确保后续反转时不会因为符号问题出错。读题课知,给的是有符号的整数x,要求得这个数反转后的数,但不改变正负。如果反转后整数超过 32 位的有符号整数的范围。中的数字部分反转后的结果。

2024-05-17 21:36:44 412

原创 力扣刷题day005——z字变换

读这题的时候,巴拉巴拉一大堆什么进行z字排列,其实通俗点说就是:给定一个字符串,把字符串先从上往下一个一个排列很多行,这个行数等于numRows的大小,然后再往右上一个数占一行的放,直到第一排,然后重复这个过程。# 初始化一个列表rows,用于存储每一行的字符,列表的长度为 min(numRows, len(s))所以我们的任务就是,把字符的索引关联上他所在的列,然后把每行所有的字符存在一个变量中,最后把变量链接起来即可。# 将每一行的字符连接起来,并返回结果字符串。#遍历字符串s中的每个字符。

2024-05-16 23:48:15 453 1

原创 小菜鸡的人工智能期末复习梳理,冲冲冲!

机器从数据中学习,从数据中学习,从数据中产生模型的算法,有了算法,只要把经验数据提供给它,它就能够基于这些数据产生模型,有了模型之后,在面对新的情况时,模型能够提供相应的判断。进行预测。

2024-05-16 22:40:59 263 1

原创 力扣刷题day004——最长回文子串

给你一个字符串s,找到s中最长的 回文子串。如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。

2024-05-15 22:20:33 695

原创 力扣刷题day003——无重复字符的最长字串

给定一个字符串s,请你找出其中不含有重复字符的的长度。

2024-05-14 23:02:24 292 1

原创 力扣刷题day002——两数相加

给你两个的链表,表示两个非负的整数。它们每位数字都是按照的方式存储的,并且每个节点只能存储数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。

2024-05-13 21:14:55 377

原创 力扣刷题day001——两数之和

给定一个整数数组nums和一个整数目标值target,请你在该数组中找出target的那整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。

2024-05-12 16:51:56 348 1

空空如也

空空如也

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

TA关注的人

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