LeetCode weekly contest 141
Rank | Name | Score | Finish Time | Q1 (4) | Q2 (5) | Q3 (6) | Q4 (8) |
---|---|---|---|---|---|---|---|
234 / 4126 | YoungForest | 22 | 1:18:45 | 0:25:23 1 | 0:36:29 | 0:51:47 | 1:13:45 |
周一自然辩证法考试,周二矩阵考试,还是强行抽出时间参加contest。本身复习就不充分,平时的学习也没有十分扎实,我也是心大。
200名的时间至少要在1:14:23以内。
1089. Duplicate Zeros
Intuition:
因为要求in-place, 一个自然的想法是从后向前更新值。
2次遍历,第一次正向遍历,得到结果数组最后一位的原始坐标。
第二次逆向遍历,更新结果数组。
Time complexity: O(N),
Space complexity: O(1).
1 | class Solution { |
因为忽略 最后一个0如果位数不够的话,将不进行扩展。被罚时一次。
测试用例:
1 | [0] |
1090. Largest Values From Labels
Intuition:
贪心思路。总是试图加入value最大的item。
具体实现为 先排序,并且用一个hashtable保证不违反 use_limit的限制。
Time complexity: O(N log N),
Space complexity: O(N)
1 | class Solution { |
测试用例:
1 | [5,4,3,2,1] |
1091. Shortest Path in Binary Matrix
Intuition:
求最短路径,用DFS。
Time complexity: O(N^2),
Space complexity: O(N^2).
1 | class Solution { |
我的测试用例:
1 | [[0,1],[1,0]] |
期望结果:
1 | 2 |
1092. Shortest Common Supersequence
Intuition:
先求出 最长公共子序列(Longest Common Subsequence).
然后补齐多余的字符。
最长公共子序列的模版很重要,需要快速实现。
Time Complexity: O(str1.size() * str2.size()),
Space Complexity: O(str1.size() * str2.size()).
1 | class Solution { |
我的测试用例:
1 | "abac" |
期望结果:
1 | "cabac" |