【LeetCode/牛客网】
riba2534
没有谁生来就是神牛,而千里之行,始于足下!
展开
-
LeetCode 887 鸡蛋掉落(dp,记忆化搜索,二分)
题目链接:鸡蛋掉落 你将获得 K 个鸡蛋,并可以使用一栋从 1 到 N 共有 N 层楼的建筑。 每个蛋的功能都是一样的,如果一个蛋碎了,你就不能再把它掉下去。 你知道存在楼层 F ,满足 0 <= F <= N 任何从高于 F 的楼层落下的鸡蛋都会碎,从 F 楼层或比它低的楼层落下的鸡蛋都不会破。 每次移动,你可以取一个鸡蛋(如果你有完整的鸡蛋)并把它从任一楼层 X 扔下(满足 1 &...原创 2020-04-11 16:01:26 · 604 阅读 · 0 评论 -
LeetCode Best Time to Buy and Sell Stock III(思路)
题目链接: Best Time to Buy and Sell Stock III 题意: 给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。 注意: 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 思路 首先我们知道买入的最小价格为prices[0],卖出的最小价格为pr...原创 2018-07-04 23:02:50 · 241 阅读 · 0 评论 -
牛客网-网易2017笔试 合唱团(dp)
题目来源:合唱团 题目描述 有 n 个学生站成一排,每个学生有一个能力值,牛牛想从这 n 个学生中按照顺序选取 k 名学生,要求相邻两个学生的位置编号的差不超过 d,使得这 k 个学生的能力值的乘积最大,你能返回最大的乘积吗? 输入描述: 每个输入包含 1 个测试用例。每个测试数据的第一行包含一个整数 n (1 &lt;= n &lt;= 50),表示学生的个数,接下来的一行,包含 n 个整...原创 2018-12-30 16:14:06 · 279 阅读 · 0 评论 -
牛客网-拼多多2018笔试 迷宫寻路(状态压缩+bfs)
题目来源:迷宫寻路 题目描述 假设一个探险家被困在了地底的迷宫之中,要从当前位置开始找到一条通往迷宫出口的路径。迷宫可以用一个二维矩阵组成,有的部分是墙,有的部分是路。迷宫之中有的路上还有门,每扇门都在迷宫的某个地方有与之匹配的钥匙,只有先拿到钥匙才能打开门。请设计一个算法,帮助探险家找到脱困的最短路径。如前所述,迷宫是通过一个二维矩阵表示的,每个元素的值的含义如下 0-墙,1-路,2-探险家的...原创 2019-01-19 20:16:58 · 991 阅读 · 0 评论 -
LeetCode 440. K-th Smallest in Lexicographical Order(思路)
题目链接:440. K-th Smallest in Lexicographical Order Given integers n and k, find the lexicographically k-th smallest integer in the range from 1 to n. Note: 1 ≤ k ≤ n ≤ 109. Example: Input: n: 13 k: 2 ...原创 2019-03-01 09:04:10 · 586 阅读 · 2 评论 -
LeetCode 4. Median of Two Sorted Arrays(思路,递归)
题目链接:寻找两个有序数组的中位数 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。 你可以假设 nums1 和 nums2 不会同时为空。 示例 1: nums1 = [1, 3] nums2 = [2] 则中位数是 2.0 示例 2: nums1 = [1, 2] nums2 = ...原创 2019-03-02 16:29:28 · 282 阅读 · 0 评论 -
LeetCode 726 原子的数量(递归,map)
题目链接:原子的数量 给定一个化学式formula(作为字符串),返回每种原子的数量。 原子总是以一个大写字母开始,接着跟随0个或任意个小写字母,表示原子的名字。 如果数量大于 1,原子后会跟着数字表示原子的数量。如果数量等于 1 则不会跟数字。例如,H2O 和 H2O2 是可行的,但 H1O2 这个表达是不可行的。 两个化学式连在一起是新的化学式。例如 H2O2He3Mg4 也是化学式。 一个括...原创 2019-03-16 09:00:32 · 742 阅读 · 0 评论 -
LeetCode 76 最小覆盖子串(尺取法)
题目链接:最小覆盖子串 给定一个字符串 S 和一个字符串 T,请在 S 中找出包含 T 所有字母的最小子串。 示例: 输入: S = "ADOBECODEBANC", T = "ABC" 输出: "BANC" 说明: 如果 S 中不存这样的子串,则返回空字符串 ""。 如果 S 中存在这样的子串,我们保证它是唯一的答案。 思路 (滑动窗口) O(n)O(n)O(n) 首先用哈希表统计出 TT...原创 2019-03-16 10:15:32 · 615 阅读 · 0 评论 -
LeetCode 329 矩阵中的最长递增路径(记忆化搜索)
题目链接:矩阵中的最长递增路径 给定一个整数矩阵,找出最长递增路径的长度。 对于每个单元格,你可以往上,下,左,右四个方向移动。 你不能在对角线方向上移动或移动到边界外(即不允许环绕)。 示例 1: 输入: nums = [ [9,9,4], [6,6,8], [2,1,1] ] 输出: 4 解释: 最长递增路径为 [1, 2, 6, 9]。 示例 2: 输入: nums = ...原创 2019-03-16 10:44:49 · 646 阅读 · 0 评论