上一页 1 ··· 62 63 64 65 66 67 68 69 70 ··· 114 下一页
摘要: 搞不定这种递归计算,可能我的头脑是“线性”的,这种一层一层的,想起来太费劲了,想的头发都没了。以后希望能有AI来写这种程序吧,AI不怕掉头发! 参考:https://leetcode.com/problems/distribute-coins-in-binary-tree/discuss/22193 阅读全文
posted @ 2019-04-23 18:22 Sempron2800+ 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 考虑线性的搜索会超时,所以用二叉搜索来解决,代码如下: 但是这种写法会超时,这应该是代码质量问题,目前没明白是啥原因。 哪位博友知道我的代码的问题,欢迎告知。 参考了一下别人的方案,看到一个线性搜索的解决方案,却可以通过。 阅读全文
posted @ 2019-04-23 12:32 Sempron2800+ 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 补充另一种写法,效率更高: 自己重新写了一个: 两层循环处理,下面给出解释: 第一层循环,从后向前,最后一个元素肯定标记为0,因为它是最后一个元素(废话)。 第二层循环,从倒数第二个元素开始判断,记录当前位置为i,其后面的元素为j, 如果j元素比i元素大,那么就对i进行标记, 如果j元素不比i元素大 阅读全文
posted @ 2019-04-22 09:10 Sempron2800+ 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 此解决方案超时: 在上面的代码基础上,增加Trie数据结构,解决方案如下: 阅读全文
posted @ 2019-04-21 14:12 Sempron2800+ 阅读(211) 评论(0) 推荐(0) 编辑
摘要: getMaxByCount()方法是在A中选择连续maxlen长度的最大和。 先求L+M个连续区间的最大值,作为最基本的选择,记为allmax。 再进行一次遍历(从maxlen~n),每次选择maxlen个(L和M中更大的那个数)长度的区间,计算这个区间的和,记为bigmax。 然后将原数组一分为二 阅读全文
posted @ 2019-04-21 12:41 Sempron2800+ 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 贪心思想:根据人距离A,B城市的费用的“差值”,从大到小排序。排的靠前的优先选择其费用低的城市。如果某个城市的人数已经达到1/2,则剩下的全部选择另外一个城市。这种方式的总体的费用最低。 阅读全文
posted @ 2019-04-21 12:40 Sempron2800+ 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 典型的BFS算法,每一“层”都比前一层的距离多1,因此按层遍历的顺序,即为所求。 阅读全文
posted @ 2019-04-21 12:40 Sempron2800+ 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 1 class Solution(object): 2 def __init__(self): 3 self.List = list() 4 5 def rdfs(self,S): 6 if S != '': 7 length = len(S) 8 depth = len(self.... 阅读全文
posted @ 2019-04-14 18:20 Sempron2800+ 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 最直接的思路是三层循环,但是会超时,代码如下: 但同样的代码,使用java实现,却可以正常提交,leetcode对这道题目的的判断机制有点奇怪。 如果想解决超时问题,可以考虑使用哈希或者dp思想,来减少判断的时间。 这种题目,做起来很麻烦,看看别人的思路吧。 当时没想出来怎么做,经过一段时间的练习( 阅读全文
posted @ 2019-04-14 12:43 Sempron2800+ 阅读(674) 评论(0) 推荐(0) 编辑
摘要: 1 public class Solution 2 { 3 Stack S = new Stack(); 4 int maxValue = 0; 5 public void Trace(TreeNode root) 6 { 7 if (root != null) 8 ... 阅读全文
posted @ 2019-04-14 12:29 Sempron2800+ 阅读(176) 评论(0) 推荐(0) 编辑
上一页 1 ··· 62 63 64 65 66 67 68 69 70 ··· 114 下一页