算法
文章平均质量分 58
DiggerWang
这个作者很懒,什么都没留下…
展开
-
最小路径和
题目: 给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例: 输入:[ [1,3,1], [1,5,1], [4,2,1]]输出: 7解释: 因为路径 1→3→1→1→1 的总和最小。 解题思路:这就是一个很基本的动态规划。对于一个点 (i , j...原创 2018-07-09 20:32:58 · 529 阅读 · 0 评论 -
最长回文字串
求最长回文字符串是面试中的一道经典题目!给定一个字符串s,从中找出最长的回文字符串:比如:s = "fggfsrtrsa"返回 "srtrs" 解题思路:其实最简单的可以用动态规划,时间复杂度为O(n^2),这种解法就不加赘述了。我这里会介绍时间复杂度为O(n)的算法:Manacher算法: 首先用特定字符,比如"#",去填充原来的字符串s: 这样做的...原创 2018-07-16 19:00:01 · 1276 阅读 · 0 评论 -
跳跃游戏
题目描述: 给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。示例:输入:[2,3,1,1,4]输出:2解释:跳到最后一个位置的最小跳跃数是2。从下标为0跳到下标为1的位置,跳1步,然后跳3步到达数组的最后一个位置。 解题思路:这是典型的贪心算法,即每次...原创 2018-07-05 20:12:29 · 265 阅读 · 0 评论 -
分配糖果
题目: 老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分。 你需要按照以下要求,帮助老师给这些孩子分发糖果: 每个孩子至少分配到 1 个糖果。 相邻的孩子中,评分高的孩子必须获得更多的糖果。 那么这样下来,老师至少需要准备多少颗糖果呢? 示例1: 输入: [1,0,2] 输出: 5 解释: 你可以...原创 2018-07-07 15:01:54 · 985 阅读 · 0 评论 -
一个List的所有子集
假设有一个list [1,2,3],要求出list的所有子集!假设一个list的长度为n,那么它就包含 个子集(包含空集)。同样的,1个长度为 n 的二进制字符串,可以表示 个数。所以我们不难联想到,要求list的子集,其实就是位运算:[ ] ——> 0 0 0 ——> 0[1] ——> 1 0 0 ——> 4[2] ...原创 2018-07-21 15:39:37 · 2472 阅读 · 0 评论 -
返回第k个排列
给定数字n,易知n一共有n!个排列组合,现在要返回第k个排列(list是以从小到大的顺序排列的)。比如:n=3,k=4,全排列为[123, 132, 213, 231, 312, 321],返回"231"。 一个比较容易想到的做法就是:先得到全排列List,然后返回List[k-1]使用Python中的itertools,很容易就能实现:def permulation(sel...原创 2018-07-26 21:26:14 · 1111 阅读 · 0 评论 -
编辑距离 Edit Distance
编辑距离,又被称为Levenshtein距离,是指两个字符串之间,由其中一个转变成另一个所需的最小编辑操作次数。比如:"sea" 转变为 "eat" 需要2次操作:1、将 s 删除2、在末尾添加 t所以"sea"和"eat"两个字串的编辑距离为2。这里需要注意的是:所谓的操作只包含 (1) 插入 (2) 删除 (3) 替换 ,并不包括字符的交换操作! 编辑距离的应用:...原创 2018-07-22 13:28:10 · 519 阅读 · 0 评论 -
到达终点数字
题目:你从数轴上的0出发,可以选择向右或向左走,但是第n步只能走n步。问:走到target点所需的最少步数? 示例1:target=2,最少步数为3解释:向右走1步,向左走2步,向右走3步 示例2:target=4,最少步数为3解释:向左走1步,向右走2步,向右走3步 思路详解:这道题的本质是 1+2+3+…+n,在一些数字前面取负号(代表向左走),...原创 2018-07-28 12:06:48 · 530 阅读 · 0 评论 -
用最少数量的箭引爆气球
这是Leetcode上的一道题目:在二维空间中有许多球形的气球。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。由于它是水平的,所以y坐标并不重要,因此只要知道开始和结束的x坐标就足够了。开始坐标总是小于结束坐标。平面内最多存在104个气球。一支弓箭可以沿着x轴从不同点完全垂直地射出。在坐标x处射出一支箭,若有一个气球的直径的开始和结束坐标为 xstart,xend, 且满...原创 2018-08-28 22:32:09 · 724 阅读 · 0 评论