随笔分类 -  LintCode 代码

上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 13 下一页
摘要:"125 背包问题 II" 给出n个物品的体积A[i]和其价值V[i],将他们装入一个大小为m的背包,最多能装入的总价值有多大? 注意事项 A[i], V[i], n, m均为整数。你不能将物品进行切分。你所挑选的物品总体积需要小于等于给定的m。 样例 对于物品体积[2, 3, 5, 7]和对应的价 阅读全文
posted @ 2017-07-20 21:22 LiBaoquan 阅读(664) 评论(0) 推荐(0)
摘要:"124 最长连续序列" 给定一个未排序的整数数组,找出最长连续序列的长度。 说明 要求你的算法复杂度为O(n) 样例 给出数组[100, 4, 200, 1, 3, 2],这个最长的连续序列是 [1, 2, 3, 4],返回所求长度 4 标签 数组 思路 由于限定了时间复杂度为 O(n),所以采取 阅读全文
posted @ 2017-07-20 13:41 LiBaoquan 阅读(321) 评论(0) 推荐(0)
摘要:"123 单词搜索" 给出一个二维的字母板和一个单词,寻找字母板网格中是否存在这个单词。 单词可以由按顺序的相邻单元的字母组成,其中相邻单元指的是水平或者垂直方向相邻。每个单元中的字母最多只能使用一次。 样例 给出board = [ "ABCE", "SFCS", "ADEE" ] word = " 阅读全文
posted @ 2017-07-20 12:38 LiBaoquan 阅读(1885) 评论(0) 推荐(1)
摘要:"119 编辑距离" 给出两个单词word1和word2,计算出将word1 转换为word2的最少操作次数。 你总共三种操作方法: 插入一个字符 删除一个字符 替换一个字符 样例 给出 work1="mart" 和 work2="karma" 返回 3 标签 字符串处理 动态规划 思路 使用动态规 阅读全文
posted @ 2017-07-19 22:52 LiBaoquan 阅读(371) 评论(0) 推荐(0)
摘要:"118 不同的子序列" 给出字符串S和字符串T,计算S的不同的子序列中T出现的个数。 子序列字符串是原始字符串通过删除一些(或零个)产生的一个新的字符串,并且对剩下的字符的相对位置没有影响。(比如,“ACE”是“ABCDE”的子序列字符串,而“AEC”不是)。 样例 给出S = "rabbbit" 阅读全文
posted @ 2017-07-19 19:28 LiBaoquan 阅读(392) 评论(0) 推荐(0)
摘要:"117 跳跃游戏 II" 给出一个非负整数数组,你最初定位在数组的第一个位置。 数组中的每个元素代表你在那个位置可以跳跃的最大长度。 你的目标是使用最少的跳跃次数到达数组的最后一个位置。 样例 给出数组A = [2,3,1,1,4],最少到达数组最后一个位置的跳跃次数是2(从数组下标0跳一步到数组 阅读全文
posted @ 2017-07-19 15:09 LiBaoquan 阅读(308) 评论(0) 推荐(0)
摘要:"116 跳跃游戏" 给出一个非负整数数组,你最初定位在数组的第一个位置。 数组中的每个元素代表你在那个位置可以跳跃的最大长度。 判断你是否能到达数组的最后一个位置。 注意事项 这个问题有两个方法,一个是贪心和 动态规划。 贪心方法时间复杂度为O(N)。 动态规划方法的时间复杂度为为O(n^2)。 阅读全文
posted @ 2017-07-18 22:21 LiBaoquan 阅读(684) 评论(0) 推荐(0)
摘要:"115 不同的路径 II" "不同的路径" 的跟进问题: 现在考虑网格中有障碍物,那样将会有多少条不同的路径? 网格中的障碍和空位置分别用 1 和 0 来表示。 注意事项 m 和 n 均不超过100 样例 如下所示在3x3的网格中有一个障碍物: [ [0,0,0], [0,1,0], [0,0,0 阅读全文
posted @ 2017-07-18 18:56 LiBaoquan 阅读(295) 评论(0) 推荐(0)
摘要:"114 不同的路径" 有一个机器人的位于一个 m × n 个网格左上角。 机器人每一时刻只能向下或者向右移动一步。机器人试图达到网格的右下角。 问有多少条不同的路径? 注意事项 n和m均不超过100 样例 给出 m = 3 和 n = 3, 返回 6. 给出 m = 4 和 n = 5, 返回 3 阅读全文
posted @ 2017-07-18 18:30 LiBaoquan 阅读(888) 评论(0) 推荐(0)
摘要:"111 爬楼梯" 假设你正在爬楼梯,需要n步你才能到达顶部。但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部? 样例 比如n=3,1+1+1=1+2=2+1=3,共有3中不同的方法 返回 3 标签 动态规划 思路 使用动态规划,用 dp[i] 记录走到第 i 步共有多少种方法 动态转移 阅读全文
posted @ 2017-07-18 14:51 LiBaoquan 阅读(301) 评论(0) 推荐(0)
摘要:"110 最小路径和" 给定一个只含非负整数的m n网格,找到一条从左上角到右下角的可以使数字和最小的路径。 注意事项 你在同一时间只能向下或者向右移动一步 样例 标签 动态规划 思路 使用动态规划,用二维数组 dp[i][j] 表示网格第 i 行、第 j 列元素到右下角的最小路径 动态转移方程为: 阅读全文
posted @ 2017-07-18 14:06 LiBaoquan 阅读(938) 评论(0) 推荐(0)
摘要:"109 数字三角形" 给定一个数字三角形,找到从顶部到底部的最小路径和。每一步可以移动到下面一行的相邻数字上。 注意事项 如果你只用额外空间复杂度O(n)的条件下完成可以获得加分,其中n是数字三角形的总行数。 样例 比如,给出下列数字三角形: [ [2], [3,4], [6,5,7], [4,1 阅读全文
posted @ 2017-07-18 13:01 LiBaoquan 阅读(424) 评论(0) 推荐(0)
摘要:"108 分割回文串 II" 给定一个字符串s,将s分割成一些子串,使每个子串都是回文。 返回s符合要求的的最少分割次数。 样例 比如,给出字符串s = "aab", 返回 1, 因为进行一次分割可以将字符串s分割成["aa","b"]这样两个回文子串 标签 动态规划 方法一(大体上没问题,但会在样 阅读全文
posted @ 2017-07-17 22:26 LiBaoquan 阅读(1603) 评论(0) 推荐(0)
摘要:"92 背包问题" 在n个物品中挑选若干物品装入背包,最多能装多满?假设背包的大小为m,每个物品的大小为A[i] 注意事项 你不可以将物品进行切割。 样例 如果有4个物品[2, 3, 5, 7] 如果背包的大小为11,可以选择[2, 3, 5]装入背包,最多可以装满10的空间。 如果背包的大小为12 阅读全文
posted @ 2017-07-17 16:14 LiBaoquan 阅读(707) 评论(0) 推荐(1)
摘要:"91 最小调整代价" 给一个整数数组,调整每个数的大小,使得相邻的两个数的差不大于一个给定的整数target,调整每个数的代价为调整前后的差的绝对值,求调整代价之和最小是多少。 注意事项 你可以假设数组中每个整数都是正整数,且小于等于100。 样例 对于数组[1, 4, 2, 3]和target= 阅读全文
posted @ 2017-07-16 22:12 LiBaoquan 阅读(987) 评论(0) 推荐(0)
摘要:"59 最接近的三数之和" 给一个包含 n 个整数的数组 S, 找到和与给定整数 target 最接近的三元组,返回这三个数的和。 注意事项 只需要返回三元组之和,无需返回三元组本身 样例 例如 S = [ 1, 2, 1, 4] and target = 1. 和最接近 1 的三元组是 1 + 2 阅读全文
posted @ 2017-07-16 15:22 LiBaoquan 阅读(268) 评论(0) 推荐(0)
摘要:"58 四数之和" 给一个包含n个数的整数数组S,在S中找到所有使得和为给定整数target的四元组(a, b, c, d)。 注意事项 四元组(a, b, c, d)中,需要满足a 答案中不可以包含重复的四元组。 样例 例如,对于给定的整数数组S=[1, 0, 1, 0, 2, 2] 和 targ 阅读全文
posted @ 2017-07-16 15:04 LiBaoquan 阅读(280) 评论(0) 推荐(0)
摘要:"113 删除排序链表中的重复数字 II" 给定一个排序链表,删除所有重复的元素只留下原链表中没有重复的元素。 样例 给出 1 2 3 3 4 4 5 null,返回 1 2 5 null 给出 1 1 1 2 3 null,返回 2 3 null 标签 链表 思路 当前节点 current 的值若 阅读全文
posted @ 2017-07-14 20:39 LiBaoquan 阅读(955) 评论(0) 推荐(0)
摘要:"106 排序列表转换为二分查找树" 给出一个所有元素以升序排序的单链表,将它转换成一棵高度平衡的二分查找树 样例 标签 递归 链表 思路 类似于二分查找,每次将链表二分,中间节点作为根节点,在建立左子树与右子树,递归即可 code 阅读全文
posted @ 2017-07-14 16:30 LiBaoquan 阅读(444) 评论(0) 推荐(0)
摘要:"104 合并k个排序链表" 合并k个排序链表,并且返回合并后的排序链表。尝试分析和描述其复杂度。 样例 给出3个排序链表[2 4 null,null, 1 null],返回 1 2 4 null 标签 链表 分治法 堆 优先队列 优步 谷歌 推特 领英 爱彼迎 脸书 方法一(最简单,但效率不高) 阅读全文
posted @ 2017-07-14 14:55 LiBaoquan 阅读(459) 评论(0) 推荐(0)

上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 13 下一页