最近因为疫情一直在家,偶尔刷刷算法题,发现Leetcode有中文版,并且有个每日一题的功能蛮有趣的,题目不是太难。
目前正在找工作中,正好可以用这个练练手。
先定个小目标---完成一周的每日一题任务
1.2020/03/10
(周一开始的题目,周一晚上躺床上看视频睡着了,今天补一下。)
题目:
简单的DP类问题
注:一开始代码总会:超出时间限制,Debug了很久也没有成功。无奈查看题解,原来是例子给的测试输入太长,需要暴力解法。
2.2020/03/11
题目:
分析:蛮有意思的的题,这题有以下2个难点
1. 分完一轮糖果后,如果糖果有剩余,需要把index设为0,重新进入循环
2. 在糖果不够应该分的数量时,应该将手里的糖果全部给当前index对应的数值,也就是:原有index的糖果数量+剩下不够的糖果数量
解答:
3. 2020/03/12
题目
题目比较简单,之前上自动机的时候有做过类似的题,直接上答案了。
\4.2020/03/13
题目:
了解到一个很有趣的函数:
collections.Counter()
以下转自CSDN
通过collections.Counter()函数,我们只需要比较每个字母在给出的字母中,是否超过原来的字母数。如果和给出的字母数相等或小于给出的字母数,则可通过给出的字母组成单词,以下是解答
5. 2020/03/14
题目:
解题思路:选取输入字符的第一个字母作为起始,检查之后的字母是否有变化,并将每个无变化的String存入List
批注:因为代码实现时是,当两个字母出现不同时存入List,没有考虑到最后的List情况,需要加一个:当List到达尾部时,将当前String存入List
6. 2020/03/15
题目:
好久没写Linked List的代码,Data Structure上学的很多知识点都忘了
本题需要使用双链linked list,即设计一个curr和prev参数,记录当前链表和上一个链表位置
批注:第12行代码,使用temp参数记录当前链表位置。第13行需要把prev和链表连接,最后在15行重新赋值给当前链表
7. 2020/03/16
题目:
前两天学了一个collections.Counter()的built in函数(见上面解释),使用这个函数后,题目变得超级简单。
直接上答案
-----------------------------------------------------------------------分割线-------------------------------------------------------------------------------------------
每日一题一周任务完成 [撒花][撒花][撒花]。
总结一下,部分每日一题做起来还是稍微有些难度,大部分其实还好,基本都能正确解答。
那么明天鸽一天,周三开始继续刷一周题,数量改为每天刷2题,到时会另外开一个文集。那就这样。
网友评论