自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 [蓝桥杯难题总结-Python]乘积最大

在华罗庚先生的家乡江苏金坛,组织了一场别开生面的数学智力竞赛的活动,你的一个好朋友 XZ 也有幸得以参加。数组中,目前已知的信息就是乘号个数为0时的最大值了,显然就是对应的每一位的数字。再看上面的递推公式可以知道,是从前往后推的,可以按照先物品后背包的顺序遍历。设有一个长度为 NN 的数字串,要求选手使用 KK 个乘号将它分成 K+1K+1 个部分,找出一种分法,使得这 K+1K+1 个部分的乘积能够为最大。第一行共有 22 个自然数 N,K(6≤N≤40,1≤K≤6)N,K(6≤N≤40,1≤K≤6)。

2024-02-02 12:08:34 826

原创 [Python-闫式DP]

闫老师是将DP问题归结为了有限集合中的最值问题。动态规划有两个阶段,一是状态表示,二是状态计算。状态表示是一个化零为整的过程,动态规划的做题思路不是暴力法的每一个物品都去枚举,而是将相似的物品化为一个子集作为一个整体,然后每个整体去枚举。在状态表示中,我们需要知道f(i, j)代表的是什么集合,也就是动态规划五部曲中的明确数组的代表的是什么。然后这个集合的属性是什么呢,对应到动规五部曲中就是数组的值。属性一般有三种,一般是最大值、最小值以及数量。状态计算就对应了化整为零的过程,是将集合f(i,j)分为若干个

2024-02-01 11:24:55 1056 1

原创 [Python-动态规划]

然后确定递推公式,继续模拟一下过程就可以知道,跳到第i个台阶可以从第i - 1个台阶跳一步,也可以从第i - 2个台阶跳两步,也就是说跳到第i个台阶的花费可以是跳到第i - 1个台阶的最小花费加上第i - 1个台阶处的花费,也可以是跳到第i - 2个台阶的最小花费加上第i - 2个台阶的花费。由题目可知,我们可以从下标为0或者下标为1的台阶开始爬楼梯,因此爬到第0个台阶与爬到第1个台阶的最小花费为0,因此。初始化就是我们已知的爬第一个台阶的方法数为1,爬第二个台阶的方法数为2,即。,然后如果一直向右走呢?

2024-01-27 17:11:30 908

原创 [Python-贪心算法]

n个孩子站成一排。给你一个整数数组ratings表示每个孩子的评分。你需要按照以下要求,给这些孩子分发糖果:每个孩子至少分配到1个糖果。相邻两个孩子评分更高的孩子会获得更多的糖果。请你给每个孩子分发糖果,计算并返回需要准备的。

2024-01-25 11:22:35 1116

原创 [Python-贪心算法]

还有首尾元素没有考虑了,对于首元素,我们可以默认他的pre为0,因为不管他的cur是大于还是小于0都会被算作是摆动点,cur等于0的时候,即头部出现两个连续相等元素时,第一个元素也不会被考虑进去。因为在只有两个不相等元素时,摆动点的个数为2,而且相等时,由于首元素的判断方式,会将首元素删除掉,所以这样考虑恰好满足题目的要求。又因为路径是闭环的,所以路径中的总净油量等于两段小路径的净油量之和,因此我们在遍历的过程中,一旦遇到了净油量小于0的情况,就要把起始位置后移到该位置的后面,再开始遍历。

2024-01-22 22:03:12 954

原创 [Python-栈与队列]

给定一个只包括'('')''{''}''['']'的字符串s,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号。

2024-01-20 11:13:34 916

原创 [Python-字符串]KMP算法

比如说,这里模式串的第一个字符a,他所在的位置的前缀为a后缀为空,因此前缀表为0;第二个a,他所在位置的前缀为a后缀也为a,相等,因此前缀表为1;下标为2时,对应的字符为b,因此前缀为aa后缀为。

2024-01-17 22:19:28 887 1

原创 [Python-字符串]

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

2024-01-16 21:38:44 926 1

原创 [Python-哈希表]求和

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

2024-01-15 16:31:53 871

原创 [Python-哈希表]两数组交集、快乐数

给定两个数组nums1和nums2,返回它们的交集。输出结果中的每个元素一定是的。我们可以。

2024-01-14 20:30:43 359 1

原创 [Python-哈希表]字母异位词

哈希表也叫做散列表,是根据关键码的值直接进行访问的数据结构。直白来讲,数组就是一个哈希表。哈希表的关键码就对应的是数组的索引下标,然后通过下标访问数组中的元素。一般哈希表都用来快速判断一个元素是否出现在集合里。下面直接来做题体验一下。242. 有效的字母异位词给定两个字符串*s*和*t*,编写一个函数来判断*t*是否是*s*的字母异位词。若*s*和*t*中每个字符出现的次数都相同,则称*s*和*t*互为字母异位词。

2024-01-12 21:56:42 849 1

原创 [Python-链表刷题]删除链表的倒数第 N 个结点、链表相交

输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]输入:head = [1], n = 1输出:[]输入:head = [1,2], n = 1输出:[1]链表中结点的数目为。

2023-12-14 21:34:51 891 1

原创 [Python-链表刷题]环形链表 II

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

2023-12-14 20:36:25 994

原创 [Python-链表刷题]链表反转、两两交换链表中的节点

给你单链表的头节点head,请你反转链表,并返回反转后的链表。输入:head = [1,2,3,4,5]输出:[5,4,3,2,1]输入:head = [1,2]输出:[2,1]输入:head = []输出:[]链表中节点的数目范围是。

2023-12-13 20:09:59 888

原创 [Python-链表刷题]​移除链表元素​、设计链表

给你一个链表的头节点head和一个整数val,请你删除链表中所有满足的节点,并返回。列表中的节点数目在范围[0, 104]内。

2023-12-12 20:13:58 1035 1

原创 [Python-链表]

链表(Linked List)是一种基础的数据结构,用于组织和存储一系列元素。链表中的元素被组织成节点,每个节点包含数据和一个指向下一个节点的引用(指针或链接),即每个节点包含了两种内容:数据域和指针域。

2023-12-10 21:39:52 894 1

空空如也

空空如也

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

TA关注的人

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