刷leetcode吃力正常吗?

这还要问。你都会做就可以去大厂了。你这意思就是说,你看了一本c++现在还没大厂要你,有些不正常?


c++primerplus讲的是语言。

leetcode做的是算法,你应该找本算法书看看。


很正常,我也刷过,但是没有坚持一直刷,一开始刷题的时候不适应,基本每次都要看答案,等刷过几道的时候开始有感觉。leetcode的题目覆盖范围很广范的,有的也很有技巧性,等刷多了,知识储备上去,适当总结,有的题目还是可以自己写出来的,至于有些题目就得看缘分了,我一般直接看答案,这样快[捂脸]


难点在于实现各种树结构,其实原理大家都知道。但能否写出来确实很考验代码能力。


目前刷了300道了,m级还是有些吃力,h级技巧性太强你之前没有做过,普通人几乎不可能做出来只能靠题海[流泪]


说明你刷的少和你高考差不多,刷的题量上去了就轻松了


其实我觉得刷leetcode是吃力是很正常的,因为之前你没有做过相应的题呀,你也不知道相应的技巧呀,所以很多东西你得从头到尾的去学习,让你才能对你们的算法,包括一些优化思路,有很深的理解。

我自己做letcode题目,已经有很多个年头了,从最开始的什么都不懂,到最后面能够慢慢的摸清思路,去做一些题,我觉得也进步了很多,就像你学习一门新的技术一样,你一开始觉得很难,当你慢慢的做一些题,慢慢的你就会熟悉到里面那些方法论一些的东西,到那个时候你回头一看这些东西,你就会发现她特别简单,所以我觉得你也不要太灰心,努力的去做一些题,多想一想肯定有很多的进步的


连标题都看不懂,居然敢点进来回复!我为我的勇气点赞!


感觉很多的是学习算法设计的想法吧,很有意思,


从答主的情况看是刚刚看完了语法书,去刷leetcode就像刚学会识字就要创作文学作品。感觉有难度也是正常的,要多学习积累经验,很快就可以渡过这段过渡期。


c++primerplus过了一遍,不代表就能轻松应付leetcode的题目哦。

刷leetcode除了需要对使用有的编程语言很了解,还需要熟练掌握各类常用算法。

leetcode题量很大,建议分知识点刷,可以先刷“数组”,“字符串”这种题量比较大的

刷完一个知识点,要及时归纳总结。

记住,刷题不是为了追求数量,而是要通过刷题,熟练地掌握每个知识点。

另外,建议先看看《剑指offer》这本书,它对很多题型进行总结,刷过一遍再来刷leetcode相信会轻松不少。

欢迎关注“玩嗨大数据”,一起愉快刷题。


非常正常!因为计算机算法的逻辑思维不同于人类日常思维。最大不同就是人类平时都是总结规律经验的方法,而且计算机算法都是系统的推理,就跟做数学题一样。相信从小学学到高三做同样一套题库的话也是熟能生巧,苦练以后在会觉得轻松。

所以,多练是必须的,看完答案就赶快自己试一下。最好集中做同类型的题,以方便触类旁通。总共就几种题型,模板都差不多,上网查查按类型总结的归类。

加油吧!我从一晚上不一定做一道题,到现在1小时一题也用了不少功夫。


刷leetcode不吃力的要么是编程还没入门,完全靠背诵代码的记忆怪兽,要么是刷OJ已经刷麻木了的变态。。。这两种人招进团队估计都不会好好做项目的~


谢邀。这是非常正常的,算法题可不是天生就可以刷得飞快的,大部分人刚开始刷题都会感觉吃力。

leetcode中文叫力扣,是算法爱好者和学习者的必备社区。本人也是程序员,算法功底也不行前阵子接触到这个算法社区,觉得很有意思,值得大家上去刷题。下面是找到力扣的官网:

力扣上的算法题有初级有高级,还经常设置非常多的算法比赛,还有各种排名,刚开始玩这个社区的人建议不要好高骛远,先把初级算法题刷到熟练再层层递增,到了可以把刷题做到游刃有余的时候,会有机会拿到意想不到的成就甚至互联网巨头的入职机会。

下图是在力扣里编程的代码:

关注“极客宇文氏”,一名热心有料的软件工程师。


看c++的书对刷leetcode帮助不大,建议看几本算法书,首推《算法导论》。

刷题的话可以先从简单难度的开始,熟能生巧,刷的多了自然就觉得简单了。

祝刷题愉快!


目前刷了151/824道题,刚开始用python刷,后来面试调整,改用C++

工作使用Objective-C,但说实在的用它刷题,简直了自找苦吃。C++还都是学校学的,还是个选修课,也没怎么好好上,有时候也想看看书系统学一下,但觉得太浪费时间,就直接硬抗,好在大部分都是集合类,字符串处理什么的。还勉强应付的了

刚开始只刷简单的题,结果不到50道,卡了,简单的都这么吃力,自信心完全没了,扔了半年

后来学会了各个击破,链表,二分法,广度优先搜索还比较简单。其他的比如递归,深度优先搜索,子数组问题,哈希,动态规划什么的,几乎都要看答案,新题要是能自己想出来,别提有多高兴了,实际情况都是看答案也看不懂,copy到IDE里面一点点调试,和自己写的对比。有时就差一个字符,结果千差万别。

记得使用Anki,发现好多高人都用它记录,一天感觉新题可以过3道,老题能过8道左右。不知不觉,就成长了,虽然目前还是个渣渣,但已经能看到进步了。在论坛上看到有大神一天能刷60道题,希望我也可以吧

我在Github上有个Repo,也收集了一些不错的资源,主要用来记录每天刷了多少,给自己点游戏的任务感觉吧,毕竟刷题很难,特别容易放弃。还有好多题不止一个答案,而我却一个也没想出来。这时我会放过自己,写个TODO:XXX以后再完成

PS:关于如何使用Anki?

我并没有将代码贴到卡片中,背代码是不现实的,需要记忆的只是其中的题型+解题思路,每刷一道题,就会把题号+题目的类型放入到卡片中,遇到的坑什么的也会记录起来。

复习的时候,再手写一遍。遇到新问题就追加到反面,例如:

正面:

215.kth-largest-elent-in-an-array

反面:

quick-selection


为了避免用户觉得我的回答装逼,先贴一下自己的GitHub地址,目前20kstar。

MisterBooo/LeetCodeAnimation

刷LeetCode的大局观

目前主流的刷题流派有两种,一种【龟系】,一种【兔系】。

“龟系”刷法的精髓就是每个题目都做干净。不满足于一种解法,各种解法都写一写。这种流派适合不太急于准备算法面试的小伙伴,追求算法的干净优雅。

“兔系”刷法的精髓是暴力,按照标签来刷,使用固定套路来刷。比如小吴之前分析的那道拍案叫绝的算法题,如果告诉你是标签是异或,你马上能AC。这都是套路。

每个标签内部可以按照Easy、Medium、Hard的顺序做,算法练习是一个系统工程,不要一开始就追求难题,先熟悉熟悉套路,循序渐进的去做,后面所谓的难题也就不在话下。

建议小伙伴第一遍刷题可以使用【兔系】法。

看懂题目

万事开头难,看懂题目是做好一道算法题最开始也是最重要的一步。

我将LeetCode上的题大致分为三种类型:

•考察数据结构,比如链表、栈、队列、哈希表、图、Trie、二叉树等

•考察基础算法,比如深度优先、广度优先、二分查找、递归等

•考察基本算法思想:递归、分治、回溯搜索、贪心、动态规划等

一些算法题目会在标题或题目描述中给出明确的题目类型信息,比如二叉树的重建、链表的反转。

而有一些题目中则在条件中给予暗示:

•设计一个O(nlogn)的算法(分治:在一颗搜索树中完成任务,对于数据排序)

•给定一个有序数组(二分法)

•无需考虑额外的空间(用空间换时间上的优化)

•数据规模大概是10000(O(n^2)就可以)

•问题可以被递归解决(动态规划)

无论怎样,当你拿到一道算法题的时候,希望你能先去弄明白这道题目要考察的是什么,是简单的数据结构还是复杂的算法思想。

先去理清题目背后解法要用的技术,这样,这道算法题目才有做下去的可能。

不要忽视暴力解法

一般来说,BAT等大厂的算法面试题基本上都是Medium级别及以下,并希望面试者能在20分钟以内给出一个「相对正确」的回答。

为什么说是相对正确?

每一道算法题得解法都有很多种,并不是说你没有给出完美解或者最优解你就是错的。

“正确”本身是一个相对概念。

在算法面试或者平时的算法练习时,如果没有头绪,可以尝试使用暴力解法。

(不要忽视暴力解法。暴力解法通常是思考的起点。)

当你使用了暴力解法之后,可以与面试官进行沟通优化,把这个过程看作是和面试官一起探讨一个问题的解决方案的过程,这也可以让面试官了解你的思考问题的方式。这也是一个“正确”的回答方式。

先实现功能再去优化。

Doneisbetterthanperfect。

实际编写

到这一步就是算法的落地了:将上面的思考结果思路转换为代码。

在编写的过程中需要注意题目中的边界条件,比如数组是否为空,指针是否为NULL;同时也要注意代码的规范性:变量名,模块化,复用性。

做好总结

一定要做好总结,特别是当没有解出题来,没有思路的时候,一定要通过结束阶段的总结来反思犯了什么错误。解出来了也一定要总结题目的特点,题目中哪些要素是解出该题的关键。不做总结的话,花掉的时间所得到的收获通常只有50%左右。

在题目完成后,要特别注意总结此题最后是归纳到哪种类型中,它在这种类型中的独特之处是什么。经过总结,这样题目才会变成你在此问题域中的积累。

做好总结,让每道题都有最大的收获。一个月之后自己的状态应该会有很大变化。[1]

最后,承认刷LeetCode很吃力很正常

你我都是普通的程序员,不像那些玩ACM,拳打LeetCode,脚踩剑指offer,我们得接受现实:刷题,就是很痛苦很打击的过程。

但,一遍一遍的刷,多刷一题就多掌握一题,你总会比别人更强一点。

大家一起加油:)

欢迎关注「五分钟学算法」,和程序员小吴一起来学算法!


原始地址:/kepu/1372.html