LeetCode Weekly Contest 30
2017-05-16 18:29
375 查看
一直放在草稿箱里没发。。。
https://leetcode.com/contest/leetcode-weekly-contest-30/
这一场比赛难度不大,主要拼脑子和手的速度。感觉第二第三题是老题,做得快的人估计以前看到过,我刷题少就吃亏了。
数组元素大小范围:[-1000, 1000]
k:[-1e7, 1e7]
思路很有借鉴意义的一道题。穷举所有子数组显然不能满足时间复杂度的要求。对于子数组和或者连续元素和,通常的思路是维护一个前缀和数组presum,其中presum[i]表示前i个元素的和。对于本题,我们可以这样考虑:对于presum[i],满足j < i且presum[i]-presum[j]=k的j的presum[j]个数就是以i结尾的满足要求的子数组个数。如果我们能对每一个i都快速求出这样的presum[j]的个数,这个问题就解决了。
计数的方法有很多种,可以用关联数组,比如Java中的Map,HashMap。我用的是C++ STL中的multiset。
给定两个字符串s1和s2,问s2中是否包含了s1的一个排列?
不妨先想想如何判断一个字符串是否为另一个字符串的排列,只需要记录一下两个字符串所有字母的出现次数,然后比对一下就可以了。
对于本题,首先排除s1比s2长的情况。然后,枚举s2所有长度等于s1的子串,与s1比较。为了加快速度,这里要用滑动窗口(sliding window)的技巧。
https://leetcode.com/contest/leetcode-weekly-contest-30/
这一场比赛难度不大,主要拼脑子和手的速度。感觉第二第三题是老题,做得快的人估计以前看到过,我刷题少就吃亏了。
Q1 Reshape the Matrix
要求实现MATLAB中的reshape函数,但是新矩阵的填充方式从column-traversing改成了row-traversing。签到题。Q2 Subarray Sum Equals K
给定一个长度在20000以内的数组,所有元素和等于k的子数组有多少个?数组元素大小范围:[-1000, 1000]
k:[-1e7, 1e7]
思路很有借鉴意义的一道题。穷举所有子数组显然不能满足时间复杂度的要求。对于子数组和或者连续元素和,通常的思路是维护一个前缀和数组presum,其中presum[i]表示前i个元素的和。对于本题,我们可以这样考虑:对于presum[i],满足j < i且presum[i]-presum[j]=k的j的presum[j]个数就是以i结尾的满足要求的子数组个数。如果我们能对每一个i都快速求出这样的presum[j]的个数,这个问题就解决了。
计数的方法有很多种,可以用关联数组,比如Java中的Map,HashMap。我用的是C++ STL中的multiset。
Q3 Permutation in String
也是思路很有借鉴意义的一道题。给定两个字符串s1和s2,问s2中是否包含了s1的一个排列?
不妨先想想如何判断一个字符串是否为另一个字符串的排列,只需要记录一下两个字符串所有字母的出现次数,然后比对一下就可以了。
对于本题,首先排除s1比s2长的情况。然后,枚举s2所有长度等于s1的子串,与s1比较。为了加快速度,这里要用滑动窗口(sliding window)的技巧。
Q4 Maximum Vacation Days
有空填坑相关文章推荐
- LeetCode Weekly Contest 30解题思路
- LeetCode Weekly Contest 24 之 543. Diameter of Binary Tree
- LeetCode Weekly Contest 13-HammingDistance【易】
- LeetCode Weekly Contest 25 之 537.Complex Number Multiplication
- (几何)LeetCode Weekly Contest 32 D-Erect the Fence
- 【LeetCode Weekly Contest 26 Q3】Friend Circles
- LeetCode Weekly Contest 35解题思路
- leetcode weekly contest 61 ( 740. Delete and Earn )
- LeetCode Weekly Contest 36解题思路
- LeetCode Weekly Contest 56 Find K-th Smallest Pair Distance
- LeetCode Weekly Contest 13-TotalHamming Distance【中】
- 【LeetCode Weekly Contest 26 Q2】Longest Uncommon Subsequence II
- LeetCode 650 2 Keys Keyboard - LeetCode Weekly Contest 43
- LeetCode Weekly Contest 13-Matchsticks to Square【中】
- LeetCode Weekly Contest 74 793. Preimage Size of Factorial Zeroes Function【二分】
- LeetCode Weekly Contest 40(1) - Average of Levels in Binary Tree
- leetcode Weekly Contest 67 -- 763. Partition Labels
- 【LeetCode Weekly Contest 26 Q1】Longest Uncommon Subsequence I
- LeetCode Weekly Contest 6
- LeetCode Weekly Contest 8