有价值的题
文章平均质量分 56
不秃头的小猿
那些打不倒你的,终将使你更加强大
展开
-
复制带随机指针的链表
LeetCode138. 复制带随机指针的链表 题目描述:示例:题目分析: 复制相同链表元素容易,但是使得copy链表的random指针指向和原链表相同就有些麻烦。这里我们提供一种思路: 1.首先在原链表每个节点的后面开辟一个新节点,使得开辟节点的值与原节点值相同,并插入在复制节点的后面,效果如图: 2.接下来就应该是random指针指向相同了,由上图我们不难发现,copy节点的random指向恰好为原节点ran...原创 2022-05-14 14:46:04 · 359 阅读 · 1 评论 -
LeetCode 11.盛最多水的容器
题目:给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明:你不能倾斜容器。示例:题目解析:实质为求两柱体围成的最大矩形面积思路讲解:1.暴力求解:两个for循环遍历数组,求出所有面积情况,取最大值。(可以但不推荐,该方法效率较低)* 2.双指针:两指针分别指向数组左右元素,求出..原创 2022-05-08 14:25:51 · 844 阅读 · 0 评论 -
字符串的编辑距离计算
描述Levenshtein 距离,又称编辑距离,指的是两个字符串之间,由一个转换成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。编辑距离的算法是首先由俄国科学家 Levenshtein 提出的,故又叫 Levenshtein Distance 。例如:字符串A: abcdefg字符串B: abcdef通过增加或是删掉字符 ”g” 的方式达到目的。这两种方案都需要一次操作。把这个操作所需要的次数定义为两个字符串的距离。要求:原创 2022-04-27 10:29:38 · 1679 阅读 · 0 评论 -
青蛙跳台阶问题
问题:一只青蛙一次只能跳1个台阶或2个台阶,问如果要跳上n个台阶有几种跳发?分析:假设只有一个台阶:如果两个台阶:如果有三个台阶:由上可以推出n个台阶的方法:f(n)=f(n-1)+f(n-2) (类似于斐波那契数列)台阶数 1 2 3 4 5 6 7 8 9 跳法 1 2 3 5 8 13 21 34 55 如果我们写成函数可以有以下...原创 2022-01-20 15:25:13 · 912 阅读 · 1 评论 -
汉诺塔问题
问题来源: 相传在古印度圣庙中,有一种被称为汉诺塔(Hanoi)的游戏。该游戏是在一块铜板装置上,有三根杆(编号A、B、C),在A杆自下而上、由大到小按顺序放置64个金盘。 游戏的目标:把A杆上的金盘全部移到C杆上,并仍保持原有顺序叠好。 操作规则:每次只能移动一个盘子,并且在移动过程中三根杆上都始终保持大盘在下,小盘在上,操作过程中盘子可以置于A、B、C任一杆上。那么我们如何用C语言解决这个问题呢?First,让我们简化一下这个问题:...原创 2022-01-20 14:24:32 · 1093 阅读 · 1 评论