上一页 1 ··· 52 53 54 55 56 57 58 59 60 ··· 68 下一页
摘要: 题目如下: 解题思路:这个问题考的是木桶原理,所以我们的关注点就是找到最短的木板。假设Largest Rectangle 的区间是从heights[i-j],并且heights[k]是其中最短的木板,那么可以得出heights[k] > heightsv[i-1] (i > 0) 以及 height 阅读全文
posted @ 2018-08-20 19:19 seyjs 阅读(329) 评论(0) 推荐(0) 编辑
摘要: 题目如下: 解题思路:我用的是递归的方法,每次找出与第一个')'匹配的'('计算atom的数量后去除括号,只到分子式中没有括号为止。例如 "K4(ON(SO3)2)2" -> "K4(ONS2O6)2" -> "K4O2N2S4O12"。接下来再对分子式进行分割,得出每个atom的数量后排序即可。原 阅读全文
posted @ 2018-08-20 19:18 seyjs 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 题目如下: 解题思路:没啥好说的,多叉树的层序遍历。话说leetcode上面二(多)叉树的前序中序后序层序遍历的题很多,有种凑题数的嫌疑。 代码如下: 阅读全文
posted @ 2018-08-20 19:17 seyjs 阅读(353) 评论(0) 推荐(0) 编辑
摘要: 题目如下: 解题思路:题目要求的是对于任意一个区间i,要找出一个区间j,使得j的起点最接近i的终点。既然这样,我们可以把所有区间的终点组成一个列表,并按大小排序,使用二分查找就可以快速找到j区间。注意要保存新的列表和输入的区间列表的元素映射关系,这样才能快速找到j区间在输入区间列表的索引。 代码如下 阅读全文
posted @ 2018-08-20 19:16 seyjs 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 题目如下: 解题思路:本题题干中提到了一个非常重要的前提:"You can swim infinite distance in zero time",同时也给了一个干扰条件,那就是示例2里面的说明,"We need to wait until time 16 so that (0, 0) and ( 阅读全文
posted @ 2018-08-20 19:14 seyjs 阅读(433) 评论(0) 推荐(0) 编辑
摘要: 题目如下: 解题思路:求最值的题目优先考虑是否可以用动态规划。记dp[i][j]表示在数组A的第j个元素后面加上第i+1 (i从0开始计数)个分隔符后可以得到的最大平均值,那么可以得到递归关系式: dp[i][j] = max(dp[i][j],dp[i-1][k]+float(sum(A[k+1: 阅读全文
posted @ 2018-08-16 20:52 seyjs 阅读(336) 评论(0) 推荐(0) 编辑
摘要: 题目如下: 解题思路:题目很简单,没啥说的。Follow up 我还没想出来。 代码如下: 阅读全文
posted @ 2018-08-15 08:48 seyjs 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 题目如下: 解题思路:还是这点经验,对于需要输出整个结果集的题目,对性能要求都不会太高。括号问题的解法也很简单,从头开始遍历输入字符串并对左右括号进行计数,其中出现右括号数量大于左括号数量的情况,表示这个区间是不合法的,需要删掉一个右括号;遍历完成后,如果左括号数量大于右括号的数量,那么需要删除左括 阅读全文
posted @ 2018-08-11 10:17 seyjs 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 题目如下: 解题思路:用最小堆,优先级队列都可以。我尝试了先把所有node的val都取出来,然后排序,最后组成新的链表,没想到也能被AC。 代码如下: 阅读全文
posted @ 2018-08-08 15:06 seyjs 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 题目如下: 解题思路:我首先用来时间复杂度是O(n^3)的解法,会判定为超时;后来尝试O(n^2)的解法,可以被AC。对于任意一个点,我们都可以计算出它与其余点的距离,使用一个字典保存每个距离的点的数量,例如dic[2] = 4,表示与该点距离为2的点有四个,那么这四个点任意选两个点就可以和当前点组 阅读全文
posted @ 2018-08-06 15:55 seyjs 阅读(116) 评论(0) 推荐(0) 编辑
上一页 1 ··· 52 53 54 55 56 57 58 59 60 ··· 68 下一页