导航菜单

两个月刷400道leetcode之后的经验与心得总结、真题整理分享

6d6cae4f-66df-4c80-82f7-1e0e3cab1c4b

随着互联网寒潮的来临,越来越多的互联网公司增加了访谈的难度,其中之一就是在访谈中增加了手撕算法问题的比例。这里提到的算法问题不是深度学习或机器学习等算法,而是排序,广度优先,动态规划,它不仅评估数据结构,还评估编程能力。有很多URL要刷,而letetcode是最有名的。

拉丝的问题总是被遗忘。当我第二次刷牙时,我还是不能刷牙。速度很慢。即使我花了一天时间,我也只能刷五到六次而且我无法抑制它。当我第二次回来时,我过去提出的问题几乎是一样的。

我说的时候都流下了眼泪。走这条路真的很难。这需要很多时间,但我觉得没有什么可以获得的。所以最近我一直在重新思考如何解决我的问题,希望提高刷问题的效率和速度。当我总结以下方法时,我显然觉得刷牙的速度从前一个周末的五六个增加到周末的十六个或六个以上。与前一个相比,速度非常明显。

4390c37c-3b8c-42b7-b5f5-1528911392a5

当公司采访时,重点关注基本的算法主题,leetcode刷坏第一面不能通过刷子来提高信心。代码理论算法在实际工作中的复杂性远远低于刷问题的难度。我已经提出了这些棘手的问题,更不用说工作的代码了。当然,不使用处理这些问题的一般方法。刷问题的能力需要提高。在采访同学的算法问题时,三个算法问题可以一起编写而不是很多

由于我现在只刷了大约400个问题,所以很有可能有更好的方法。欢迎赐教。

制定计划。例如,在准备找工作时,很明显你需要在60天内刷掉leetcode的前400个问题。你应该平均每周刷75个问题。你可以在周末刷50个问题。你可以在周一到周五每天刷5个问题,每天解决问题。一定要完成睡眠分解计划的任务。因为你需要每周刷75个问题,所以提前计划计划本周需要刷的75个问题,并将它们分类为excel。完成一个问题标记后,您可以看到精益求精的标记和快速成就感。刷五个问题的第一天实际上是一个非常高的负担。一般来说,只要刷问题,一个问题至少需要半个小时,如果是一天五次,则可能需要至少两个半小时。所以当我们刷问题时,为了节省时间,不知道五分钟,不要浪费时间,只看答案。另一个原因是,在采访中,你不可能长时间思考。为了清楚认知,这与高考没有什么不同,你无法理解。合作刷问题。当你一起提问时,你显然可以敦促自己坚持下去。提出问题的是始终坚持的过程。及时重复。由于我们完成了问题,忘记的曲线将遵循一个快速和缓慢的过程,所以我们应该及时重复刷问题。这需要提前计划75个问题。我们将讨论如何计划每周75个问题。人们分享。当我们完成问题时,如果我们可以告诉别人听,那将大大加深我们的形象。当你告诉别人时,如果你能清楚地理解它,你就完全明白了,但如果你听,我从来没有理解过。我很可能不理解这个话题。我需要回过头来思考这个问题的解决方案。养成无bug的习惯。编写代码后,请务必仔细检查以确保没有想法,没有子边界问题,考虑各种边界条件,并且没有各种解决方案来解决变量命名不一致等问题。算法问题的访谈一方面是在进行的。如果你能掌握不同时间复杂度的解决方案,然后将其呈现给面试官,面试官自然会更满意。假设一个同学在面试的时候,先写时间复杂度和空间复杂度最高的方法,面试官很有可能会问你这个题目有更优的解法吗,你再写时间复杂度和空间复杂度稍低一点的解法,如果面试官继续问你能不能更优化一点,你再写出时间复杂度和空间复杂度最优的方案,面试官会认为你的思考是有深度的,如果一开始就写出时间复杂度和空间复杂度最优的方法,面试官只是会觉得这个题目你以前做过而已。刷题最重要的是速度和效率。短时间内高质量快速刷完才是最终目的,明确自己的认知,不要和题目死磕。坚持下来。如果一个事情方向是正确的时候,即使一时遇到挫折了,也不要气馁,多总结方法,持续提高。刷题这件事情给我的挫败感是非常高的,中间是一度放弃了很久,但是当我想明白这道坎是一定要过的时候,就下定了决心一定要攻克这道难关持续总结方法,持续进步。

XX

我个人认为,作为技术人员,有必要保持终身的学习态度,使学习能力成为核心竞争力,使其不能被时代淘汰,有效的时间控制可以使你变得更好,所以我在这里这样做。已经在两个月内整理出的核心技能知识点将发送给需要帮助的人。我希望这些信息能够帮助每个人。

需要[转发+关注]背景私信我[数据]可以免费获得,以下是一些数据的截图

记住[前锋+前锋+前锋]!

a898ef9b21374c68b4318c93dc0300db

3d6d21bce7ea43ceb239164d590e45e6

0ab6458177ba4a8390bf8f17265140b3

由于原因的长短,它不会一一显示。如果你需要记住[转发+注意],那么可以获得私人消息[数据]!