上一页 1 ··· 32 33 34 35 36 37 38 39 40 ··· 114 下一页
摘要: 参考:https://leetcode.com/problems/sum-of-mutated-array-closest-to-target/discuss/464211/Python-Binary-Search 补充另一个,使用Java实现的代码,可读性好一些: 参考:https://leetc 阅读全文
posted @ 2019-12-29 17:15 Sempron2800+ 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 算法思想:二叉树层次遍历。 阅读全文
posted @ 2019-12-29 14:09 Sempron2800+ 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 从右向左遍历,每次更新右区间的最大值maxright,并将这个值插入结果数组的0下标位置。 阅读全文
posted @ 2019-12-29 13:56 Sempron2800+ 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 算法思路:BFS。 先记录所有的0值元素的下标,作为初始集合。使用两层遍历,找出每到每个可达点存入下一层的集合。 使用visited进行缓存,过滤重复访问过的点,防止出现环,而死循环。 阅读全文
posted @ 2019-12-29 11:20 Sempron2800+ 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 分别使用中序遍历两颗二叉搜索树,得到两个有序列表。再将两个数组合并为一个有序数组。 阅读全文
posted @ 2019-12-29 11:17 Sempron2800+ 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 1 class Solution: 2 def sumZero(self, n: int) -> List[int]: 3 res = [] 4 k = n // 2 5 i = 1 6 for j in range(k): 7 res.append(i) 8 res.append(i * (-1)) 9 i += 1 10 if n % 2 == 1: 11 res.append(0) 12 r 阅读全文
posted @ 2019-12-29 11:16 Sempron2800+ 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 解释器模式(Interpreter)定义:给分析对象定义一个语言,并定义该语言的文法表示,再设计一个解析器来解释语言中的句子。也就是说,用编译语言的方式来分析应用中的实例。这种模式实现了文法表达式处理的接口,该接口解释一个特定的上下文。 解释器模式的优点有: 1、扩展性好。由于在解释器模式中使用类来 阅读全文
posted @ 2019-12-28 11:20 Sempron2800+ 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 备忘录模式(Memento)定义:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便以后当需要时能将该对象恢复到原先保存的状态。该模式又叫快照模式。 备忘录模式的优点有: 1、提供了一种可以恢复状态的机制。当用户需要时能够比较方便地将数据恢复到某个历史的状态。 2、实现 阅读全文
posted @ 2019-12-28 11:19 Sempron2800+ 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 直观对比一下两种设计模式,左图:访问者模式;右图:策略模式。可发现,访问者模式相当于两个策略模式的“并联”。 访问者模式(Visitor)定义:将作用于某种数据结构中的各元素的操作分离出来封装成独立的类,使其在不改变数据结构的前提下可以添加作用于这些元素的新的操作,为数据结构中的每个元素提供多种访问 阅读全文
posted @ 2019-12-28 11:18 Sempron2800+ 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 迭代器模式(Iterator)定义:提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。 迭代器模式的优点有: 1、访问一个聚合对象的内容而无须暴露它的内部表示。 2、遍历任务交由迭代器完成,这简化了聚合类。 3、它支持以不同方式遍历一个聚合,甚至可以自定义迭代器的子类以支持新 阅读全文
posted @ 2019-12-28 11:17 Sempron2800+ 阅读(150) 评论(0) 推荐(0) 编辑
上一页 1 ··· 32 33 34 35 36 37 38 39 40 ··· 114 下一页