差不多也是时候要开始刷题转马了
不然到时候毕业就直接失业
不过一打开 Leetcode
里面有他妈几千题,也不知道怎么刷
所以就想说先每个礼拜参加个 weekly contest 就好
一共有四题,难度分别是 Easy, Medium, Medium, Hard
我花了一个小时左右写完
不过我看网络上说面试的时候看到题目十几秒就要开始讲话了
感觉我现在还是很卡
第一题 Smallest Even Multiple
给 n 要求回传 n 和 2 的最小公倍数
有点太简单了 = =
第二题 Length of the Longest Alphabetical Continuous Substring
给小写字串 s 回传最长的“连续字串”的长度
连续字串是 "abcdefghijklmnopqrstuvwxyz" 的 substring
我的解法:定义 a_n 是 s[:n] 的答案
a_n = { a_{n-1} + 1, 如果和前一个连续
1 , otherwise
从左到右扫一遍取高的就好
Time: O(n), Space: O(1)
第三题 Reverse Odd Levels of Binary Tree
给 perfect binary tree, 要求在奇数层反转
我有点小卡 一开始还写成奇数层两两互换
我最后解法是 BFS 每层存一个 arr 再反著写回去同一层
我自己是觉得丑丑的 不过也想不到更好的
第四题 Sum of Prefix Scores of Strings
题目很绕口,我觉得原因是想让人绕不开 Trie,或至少很麻烦
还好我之前去资工系修过一点课刚好学过
不然当场一定想不出来
四题总共花了一个小时,不过至少有写完
但我看评论是说这礼拜特别简单
而且面试要边写边讲
我有些题一开始还写错方向
感觉还得练好一阵子