介绍
总而言之是时候利用暑假锻炼一下算法技术,一提算法面试就面露难色的情形总不能一直持续下去。本栏目面向有一定基础的编程爱好者,每天(如果up不鸽)分享并解析一道LeetCode中高难度题目(通常是hard)。有兴趣的小伙伴可以一起跟着做并且讨论解法。目前的教材是花花酱的Leetcode Problem List【1】.
适合人群:
(资料图)
有一定算法基础,但是还未能顺利通过笔试/面试,总觉得算法题目想不明白的你。
不适合人群:
算法入门级选手(一上来就做难题可能并不合适,建议首先专注简单/中等题目)
非常不适合人群:
算法竞赛选手(这种小儿科的问题完全是在浪费您的时间)
过往题目在这里!
打劫房屋 III
题目看这里,lintcode第535题,middle难度:/problem/535/description/
强烈建议读者自己先做(不过真的会有读者吗,笑),有任何问题欢迎在评论区讨论,up看到了会及时回复。做完了欢迎在评论区打卡~
解析
哇,又是两道难题卡一晚上的一天。我有时候觉得做四星难题简直是在浪费时间。反正我的智力水平也不支持我想出那种题目,为什么要做呢?
言归正传,今天的题目可以用分类讨论来解决,一种是选择打劫当前房屋,另一种是选择不打劫。都考虑进来之后取最大的即可。
思考乐园
如果决定不打劫当前节点,为什么左/右节点也可以选择不打劫?这样有什么好处?欢迎将答案写在评论区~
音乐推荐
想想还要加一个小时的班,睡眠又要不足了......今天自己做了意大利面吃。我不怎么会做饭,但是意大利面制作水平倒是见涨。这里是注意的点:
首先是煮面的时候要先烧开水,然后放面,然后放盐。番茄卤(?)可以用罐装的西红柿酱,很便宜。当然也可以鲜切西红柿自己煮,不过要记得额外添加番茄酱来增加番茄风味。煮酱的时候要放入奶酪和撕碎的罗勒叶,也可以加冻起来的肉球,煮好了之后再加点完整的罗勒叶和留一点水的意大利面混在一起,搅拌均匀即可出锅。之后可以撒上奶酪碎屑以增加香度。如果有兴趣的读者可以试试,其实非常好吃,就是热量爆炸
今天的歌曲是来自贾...嘉...珈(?)乐的首播修复版偏爱,啊?这谁呀?原来是忘记了名字的人,送给同样什么都不记得的你
教材链接
【1】/blog/leetcode-problem-categories/