leetcode top interview题目补充
摘要:这个列表中有78道题目,是leetcode上top interview questions中的。原本是有145道题目,但是部分题目和top 100 liked questions是重复的(见另一篇文章), 因此这里就只保留了和top 100列表中不同的题目。 7 Reverse Integer 25
阅读全文
posted @
2019-05-27 07:21
Sempron2800+
阅读(412)
推荐(0)
leetcode1048
摘要:本题是思路是使用动态规划,dp是一个字典,其含义是:假设以某个string作为链的结尾时形成的链的最大长度。 因此最后dp的values中,最大的值就是输入列表所能形成的最长的链的长度。
阅读全文
posted @
2019-05-26 23:51
Sempron2800+
阅读(164)
推荐(0)
leetcode1052
摘要:本题的思路是滑动窗口,在区间i到i+X之间,假设全部都处于平静状态,将客人的满意度都加在一起。 然后窗口向右滑动,最左侧的离开窗口,最右侧的新进入窗口,根据其原始状态,判断是进行加还是减。 具体的判断逻辑在代码的15~20行。
阅读全文
posted @
2019-05-26 16:20
Sempron2800+
阅读(180)
推荐(0)
leetcode1054
摘要:思路,将数组中的元素按照出现次数,从大到小排序,将其展开成按照次数排列的数组。 例如[7,7,7,8,5,7,5,5,5,8],展开成[7,7,7,7,5,5,5,5,8,8]或者[5,5,5,5,7,7,7,7,8,8]。 然后遍历这个展开数组,将其中的元素先插入偶数位(0,2,4,6......
阅读全文
posted @
2019-05-26 14:42
Sempron2800+
阅读(189)
推荐(0)
leetcode1053
摘要:先寻找需要替换的项,从后向前寻找。如果前项>后项,那么这个“前项”就是要被替换的。 然后在这个项的右侧区域中寻找用于交换的位置。寻找比“前项”的值小的值中的最大的那个,同样的值选择位置靠后的。 关键的代码是10~13行。
阅读全文
posted @
2019-05-26 12:10
Sempron2800+
阅读(111)
推荐(0)
leetcode1051
摘要:这道题目的思路,将原数组排序保存到另一个数组中,然后对比这两个数组中的每一项,如果值不同,则将计数器加1。 最后返回计数器的值。
阅读全文
posted @
2019-05-26 12:09
Sempron2800+
阅读(205)
推荐(0)
leetcode1043
摘要:又是一道dp的题目,还是给出一个超时的解。 经过分析,猜测上面的代码超时的主要问题是在第10行,每次重新计算切片的最大值。 因此尝试改进,代码如下: 使用premax变量来存储切片的最大值,而省去了每次调用max()函数来进行计算,从而提高效率。最终获得了AC的结果。
阅读全文
posted @
2019-05-26 08:10
Sempron2800+
阅读(183)
推荐(0)
leetcode1039
摘要:先提供一种递归的实现,属于回溯法思想。思路比较简单,但是提交会超时。 尝试使用字典记录已经计算过的项,但是执行效率没有明显的改善。 这道题目想要提升效率,需要使用动态规划的思想。我没有思路。 动态规划最核心的是寻找递归公式,也就是把题目中隐含的数学关系用一个式子写出来。 这类问题对于我这样数学不好的
阅读全文
posted @
2019-05-25 13:08
Sempron2800+
阅读(155)
推荐(0)
leetcode1047
摘要:1 class Solution: 2 def removeDuplicates(self, S: str) -> str: 3 l = [] 4 for i in range(len(S)): 5 s = S[i] 6 if len(l) == 0: 7 l.a...
阅读全文
posted @
2019-05-19 13:54
Sempron2800+
阅读(124)
推荐(0)
leetcode1046
摘要:1 import heapq 2 class Solution: 3 def lastStoneWeight(self, stones: 'List[int]') -> int: 4 heapq._heapify_max(stones) 5 #r = [heapq._heappop_max(stones) for _ in range(len(s...
阅读全文
posted @
2019-05-19 13:41
Sempron2800+
阅读(120)
推荐(0)
leetcode1041
摘要:这是什么数学原理呢?想不出来。GG GL,这道题的灵感是从魔兽来的么。。。
阅读全文
posted @
2019-05-12 14:28
Sempron2800+
阅读(121)
推荐(0)
leetcode1042
摘要:本周的题不好做啊,这个出题人喜欢出的题目都是我不擅长的,为了平台的良好发展,“客观公正”的给个差评吧。
阅读全文
posted @
2019-05-12 14:11
Sempron2800+
阅读(165)
推荐(0)
leetcode399
摘要:纯集合运算,并查集的思想。 将有运算关系的项目放在同一个集合中,并统一这个集合中的各项的倍数关系。 例如:a / b = 2.0, b / c = 3.0 则a,b,c三个项相互之间具有运算关系,通过程序形成两个集合 集合l1记录项的位置[a,b,c],集合l2记录项的比例[6.0,3.0,1.0]
阅读全文
posted @
2019-05-09 18:43
Sempron2800+
阅读(169)
推荐(0)
leetcode1038
摘要:1 class Solution: 2 def __init__(self): 3 self.L = list() 4 5 def inOrder(self,node): 6 if node!=None: 7 if node.left != None: 8 self.inOr...
阅读全文
posted @
2019-05-05 13:56
Sempron2800+
阅读(131)
推荐(0)
leetcode1037
摘要:1 class Solution: 2 def isBoomerang(self, points: 'List[List[int]]') -> bool: 3 l = sorted(points, key = lambda x: (x[0],x[1])) 4 #print(l) 5 c = points[2] 6 ...
阅读全文
posted @
2019-05-05 13:55
Sempron2800+
阅读(142)
推荐(0)