- 博客(16)
- 收藏
- 关注
原创 707.设计链表(力扣,数据结构,代码随想录)
在这段 C++ 代码中, 是一个构造函数。“” 表示这是一个接受一个整数参数 的构造函数。 “” 这种形式叫做成员初始化列表,它用于在对象创建时直接初始化成员变量 ,将传入的参数 赋值给成员变量 。 “” 同样是在成员初始化列表中,将成员变量 初始化为 ,表示初始时链表节点的下一个节点指针为空。 在 C++ 中, 和 是用来表示空指针的两种不同的字面量。null:nullptr:区别:在现代 C++ 编程中,推荐使用 而不是 ,因为它提供了更好的类型安全
2024-07-21 10:43:03 303
原创 139、单词拆分(力扣,动态规划)
返回 true 因为 "applepenapple" 可以由 "apple" "pen" "apple" 拼接成。返回 true 因为 "leetcode" 可以由 "leet" 和 "code" 拼接成。不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。如果可以利用字典中出现的一个或多个单词拼接出。注意,你可以重复使用字典中的单词。
2024-07-19 09:29:18 267
原创 下降路径最小和(力扣,931,动态规划)
可以从第一行中的任何元素开始,并从每一行中选择一个元素。在下一行选择的元素和当前行所选元素最多相隔一列(即位于正下方或者沿对角线向左或者向右的第一个元素)。如图所示,为和最小的两条下降路径。如图所示,为和最小的下降路径。,请你找出并返回通过。
2024-07-14 11:21:14 309
原创 120. 三角形最小路径和(动态规划)
这一行是动态规划的核心。它计算到达当前位置的最小路径和,考虑从当前位置的下方或右下方到达的最小路径和,并加上当前位置的值。数组,其初始值是三角形的最后一行。这是因为最后一行的元素就是它们自己的路径和。自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。是一个从倒数第二行开始,向上遍历三角形的循环。数组的第一个元素,这是到达三角形顶部(即。,这是因为三角形的每一行的长度是递减的。开始的,这意味着它不会执行循环体。是一个遍历当前行的循环。,找出自顶向下的最小路径和。
2024-07-13 18:27:02 158
原创 集合的划分(递归方法)
则称S1,S2,……,Sk是集合S的一个划分……它相当于把S集合中的n个元素a1,a2,。,an放入k个(0<k≤n<30)无标号的盒子中,使得没有一个盒子为空。请你确定n个元素a1,a2,,an放入k个无标号盒子中去的划分数S(n,k)……设S是一个具有nn个元素的集合,S=〈a1,a2,……,an〉S=〈a1,a2,……,an〉,现将S划分成k个满足下列条件的子集合S1,S2,n个元素a1,a2,,an放入k个无标号盒子中去的划分数S(n,k)n个元素分到k个集合。
2024-07-10 16:58:37 214
原创 放苹果(递归方法)
把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。第一行是测试数据的数目t(0<=t<=20)。以下每行均包含二个整数M和N,以空格分开。1<=M,N<=10。时,是否空盘是可控的,此时放法就等于:空盘子的方法+放满的方法,也就是。个空盘,所以直接缩范围,考虑临界情况-->勉强放满时,此时值为。问题中可以有空盘子,所以我们要考虑的方法中就要分为。对输入的每组数据M和N,用一行输出相应的K。m(苹果数)、n(盘子数)
2024-07-10 16:46:26 505
原创 超级楼梯(递归算法)
然后规律,也就是状态转移方程,其实想上到第n级台阶有两种方法:1.从n-1级台阶走1阶上去。2.从n-2级台阶走两节台阶上去,既然确定了走几节台阶,那么到这节台阶的方法也自然是前两者之和。很自然的不难想到使用集合存储,集合中是不保存重复数据的,而且位置也正确。输入数据首先包含一个整数N,表示测试实例的个数,然后是N行数据,每行包含一个整数M(1<=M<=40),表示楼梯的级数。有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?那么话不多说说,请看vcr(代码)
2024-07-10 14:08:30 216
原创 扩号匹配问题(递归方法)
规定(与常见的算数式子一样)任何一个左括号都从内到外与在它右边且距离最近的右括号匹配。写一个程序,找到无法匹配的左括号和右括号,输出原来字符串,并在下一行标出不能匹配的括号。不能匹配的左括号用"$"标注,不能匹配的右括号用"?对每组输出数据,输出两行,第一行包含原始输入字符,第二行由"$","?"和空格组成,"$"和"?"表示与之对应的左括号和右括号不能匹配。输入包括多组数据,每组数据一行,包含一个字符串,只包含左右括号和大小写字母,字符串长度不超过100。
2024-07-09 15:51:21 194
原创 逆波兰表达式(递归求解)
逆波兰表达式是一种把运算符前置的算术表达式,例如普通的表达式2 + 3的逆波兰表示法为+ 2 3。逆波兰表达式的优点是运算符之间不必有优先级关系,也不必用括号改变运算次序,例如(2 + 3) * 4的逆波兰表示法为* + 2 3 4。本题求解逆波兰表达式的值,其中运算符包括+ - * /四个。看到这题相信大多数人的第一反映是用栈求解,但是由于题目中描述没有优先级,而且从示例可以看出,实际上只把相邻数字间运算符提出来了。(具体看代码及其附带注释)可直接用printf("%f\n", v)输出表达式的值v。
2024-07-08 17:54:31 553 1
空空如也
C语言,c++哥德巴赫猜想
2022-10-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人