LeetCode weekly contest 181
自从LeetCode rating算法更新后,我的rating到达了顶峰,之后就一直向下掉。不过也是因为自己菜,每次都打的大好几百名,偶尔还上千。
Rank | Name | Score | Finish Time | Q1 (3) | Q2 (4) | Q3 (5) | Q4 (6) |
---|---|---|---|---|---|---|---|
839 / 10930 | YoungForest | 18 | 1:31:13 | 0:04:53 | 0:14:43 1 | 0:45:27 1 | 1:16:13 1 |
1389. Create Target Array in the Given Order
签到题。使用vector的insert接口,缺点是效率有问题,不过对于签到题足够了。
时间复杂度: O(n ^ 2), 最坏情况是 每次都插到首位。
空间复杂度: O(n).
1 | class Solution { |
1390. Four Divisors
Brute force. 计算每个数的因数。
时间复杂度: O(sqrt(nums[i]) * nums.length),
空间复杂的: O(nums.length) -> O(1) without memo.
1 | class Solution { |
1391. Check if There is a Valid Path in a Grid
算法不是很难的一道题目,一遍搜索即可。难点在于实现,对复杂问题进行抽象。我在这里使用了多个hashmap来解决方位的抽象。
时间复杂度: O(row * col),
空间复杂度: O(1).
本题也可以用 "并查集"解决,实现起来更简单些。
1 | class Solution { |
1392. Longest Happy Prefix
参考的是geekforgeek上的代码,并不难找,Google "longest prefix suffix"就能出来。
时间复杂度: O(N),
空间复杂度: O(N).
1 | class Solution { |