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