自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 day 12 | 栈与队列 3.21 周四

python里面的list相当于栈pop()相当于出栈,append()相当于入栈。请你仅使用两个栈实现先入先出队列。使用栈来模式队列的行为,如果仅仅用一个栈,是一定不行的,所以需要两个栈。,再从出栈弹出数据,如果输出栈不为空,则直接从出栈弹出数据就可以了。在完成所有重复项删除操作后返回最终的字符串。在 S 上反复执行重复项删除操作,直到无法继续删除。在push数据的时候,只要数据放进输入栈就好,会选择两个相邻且相同的字母,并删除它们。,这里要注意输入栈和输出栈的关系。,判断字符串是否有效。

2024-03-21 22:43:40 408 1

原创 day 11 | 贪心算法

数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标,如果可以,返回。在每一天,你可以决定是否购买和/或出售股票。向前跳转的最大长度。生成的测试用例可以到达。你也可以先购买,然后在。处,你可以跳转到任意。给你一个非负整数数组。

2024-03-20 22:33:17 322 1

原创 day 9 | 动态规划

网格的左上角 (起始点在下图中标记为 “Start” )。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。网格的左上角 (起始点在下图中标记为 “Start” )。机器人试图达到网格的右下角(在下图中标记为 “Finish”)。所以递推公式:dp[i] = max({dp[i], (i - j) * j, dp[i - j] * j});如果定义dp[i - j] * dp[j] 也是默认将一个数强制拆成4份以及4份以上了。j * dp[i - j]是拆分成两个以及两个以上的个数相乘。

2024-03-19 22:54:42 406 1

原创 day 10 | 贪心算法 3.19 周二

很容易可以发现,对于我们当前考虑的这个数,要么是作为山峰(即 nums[i] > nums[i-1]),要么是作为山谷(即 nums[i] < nums[i - 1])。一定是取最大的,所以dp[i] = max(dp[i - 1] + nums[i], nums[i])不是摆动序列,第一个序列是因为它的前两个差值都是正数,第二个序列是因为它的最后一个差值为零。假设你是一位很棒的家长,想要给你的孩子们一些小饼干。,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。

2024-03-19 22:53:52 643 1

原创 day 8 | KMP算法 + 动态规划 (补3.15)

还有就是dp[i - 2],上i-2层楼梯,有dp[i - 2]种方法,那么再一步跳两个台阶不就是dp[i]了么。首先是dp[i - 1],上i-1层楼梯,有dp[i - 1]种方法,那么再一步跳一个台阶不就是dp[i]了么。个台阶向上爬需要支付的费用。所以dp[i] = dp[i - 1] + dp[i - 2]。那么dp[i]就是 dp[i - 1]与dp[i - 2]之和!从dp[i]的定义可以看出,dp[i] 可以有两个方向推出来。dp[i]: 爬到第i层楼梯,有dp[i]种方法。

2024-03-16 18:15:46 1326 1

原创 day 7 | 字符串 (补3.14)

中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。判断字符串s是否由重复子串s'组成,只要两个s拼接在一起,里面还出现一个s的话,就说明是由重复子串组成。输入字符串以字符数组。当然,我们在判断 s + s 拼接的字符串里是否出现一个s的的时候,,这样避免在s+s中搜索出原来的s,我们要搜索的是中间拼接出来的s。,检查是否可以通过由它的一个子串重复多次构成。不要给另外的数组分配额外的空间,你必须。中使用至少一个空格将字符串中的。

2024-03-16 01:14:50 307 1

原创 day 6 | 继续哈希表

​​​​​​​。

2024-03-14 00:54:56 300 1

原创 day 5 | 哈希表

快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果 可以变为 1,那么这个数就是快乐数。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。不是,则返回 False。编写一个算法来判断一个数 n 是不是快乐数。中每个字符出现的次数都相同,则称。整数,并返回它们的数组下标。答案中不可以包含重复的三元组。你可以按任意顺序返回答案。,请你在该数组中找出。

2024-03-13 02:04:09 1706

原创 day4 | 链表

给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。第一次相遇:假设快指针走了f,慢指针走了s,则f = 2s 且 f - s = nb,所以 f=2nb, s=nb。注意当输入为[7,7,7,7],7时,这个时候整个链表被删掉了,所以要保存头节点位置,否则不能返回正确结果。示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL。,请你反转链表,并返回反转后的链表。

2024-03-11 23:22:19 1485

原创 day 3 | 滑动窗口

注意这里可以用[0] * 26是因为能保证两个字符串都是小写字母,如果既有大写又有小写,不可行。的子串,返回这些子串的起始索引。不考虑答案输出的顺序。指由相同字母重排列形成的字符串(包括相同的字符串)。如果不存在符合条件的子数组,返回。,请你找出其中不含有重复字符的。所有字符的子串,则返回空字符串。找出该数组中满足其总和大于等于。个正整数的数组和一个正整数。所有字符的最小子串。、长度最长的子数组的长度。

2024-03-10 17:21:42 325

原创 day 2 | 移除元素之双指针算法

的元素,并返回移除后数组的新长度。两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等,返回。你不需要考虑数组中超出新长度后面的元素。区别在于找到需要的宝藏之后需要左右互换值,把不需要的宝藏往后挪。移动到数组的末尾,同时保持非零元素的相对顺序。,必须在不复制数组的情况下原地对数组进行操作。最终,合并后数组不应由函数返回,而是存储在数组。s 会变成 "c",但 t 仍然是 "b"。,返回删除后数组的新长度。删除重复出现的元素,使每个元素。个元素表示应合并的元素,后。个结点,并且返回链表的头结点。

2024-03-10 00:04:32 744 1

原创 day 1 | 二分查找

给你一个按照非递减顺序排列的整数数组nums,和一个目标值target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值target,返回[-1, -1]。你必须设计并实现时间复杂度为O(log n)的算法解决此问题。

2024-03-07 00:52:52 384

空空如也

空空如也

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

TA关注的人

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