刷穿剑指offer-Day04-第一章结束,聊聊算法学习

简介: 刷穿剑指offer-Day04-第一章结束,聊聊算法学习

昨日回顾


昨天我们介绍了求余和快速幂的相关知识,并且讲解了力扣50.实现pow的题目,主要是想让大家在理解了快速幂的实现,毕竟这是一道高频的面试考题。

但如果在算法机试或者平时开发时,还是使用内置的pow更为便捷,没必要重造轮子。


关于书中的题目


这章节今天就结束了,大家会说剑指offer中第三、第五题还没有讲。在这里需要解释下,虽然说的是刷穿剑指offer,但更多的是希望通过剑指offer这本书的整体将结果,帮我们梳理数据结构与算法的学习思路与顺序。

对于4道二进制题目,咱们挑选2道题学习掌握即可。第五题和第四题共性颇多,而第三题个人认为,应该在动态规划那章节去讲解更为合适。

后续每章节的讲解也是如此,不会照本宣科的每道题都讲一遍,而是在挑选经典题型的同时,补充一些我认为在该数据结构下同样重要、高频的考点进行讲解。欧大家有其他更好的想法,欢迎互相讨论,毕竟我们共同的目的是能学好算法。


整数内容就这些?

算上开篇讲的整数类型、二进制、与或非、取模、快速幂,整数的考点就这些了么?远远不止....

个人觉得整数的题目,是最趋近于数学思维的题目。比如以下三道幂运算的题目:

  • 231.二的幂
  • 326.三的幂
  • 342.四的幂

这些都在整数与数学的范畴内,大家如果感兴趣可以抽时间看下这三道题目。再比如力扣常见的丑数、质数、快乐数、笨阶乘、好数字的数目等等类型数不胜数。对于整数相关题目,不像二分、链表、二叉树等有固定的模板和套路,需要大家针对不同类型的题目多做总结,多思考。


关于刷题的疑问


借着本章的结束,想和大家讨论讨论关于算法刷题的一些疑问。虽然因为种种原因,间断性刷过几次力扣、牛客,但从今年2月才开始保持每天刷题、打卡和写解题的习惯。如今半年多过去了,算算刷了500多道题。作为和大家一样还在算法学习路上挣扎的难兄难弟,经常会听到朋友们的有如下问题:

  1. 算法刷题,做多少道题就能通过面试?
  2. 我准备面试,怎样一个月提升算法技能?
  3. 为什么刷过的题,回过头来又忘记了?
  4. 一道题想了几个小时,还是不知道怎么做,该去看题解么?
  5. 学习算法该按照类型刷,还是随机刷?
  6. 为什么看题目不会做,但一看题解觉得好简单?
  7. 明明做过同类型的题目,但遇到新题为什么还是做不出来?

差不多就这些问题了,不敢在问了....


一些个人观点


每个人的基础与学习方式都是不同的,没办法做到复制,但方法是可以借鉴的。今天就聊聊我这半年来的学习方式,顺便在过程中回复以上问题。如果大家觉得其中有哪些适合你,可以作为借鉴。


数量不等于能力

举个最简单的例子力扣的上有145多道位运算的题目,你把这145道都做了,然后面试考你一个简单的排序,凉了....举这个例子要说明的就是刷题要按照分类来,每种类型的题目你都要做过几道,才能面试的时候有思路,可能通过....


如何一个月速成

先来劝退那些临时抱佛脚,想一个月提升算法技能的朋友。坦白说我给不出什么建议,因为这个时间太短了,如果有机构说一个月就能全面提升算法技能,那要么是炼狱般的难度,要么就是骗你的...打开力扣标签,几十种算法与数据结构分类,每中算法一天一个月也不够。别说你一天做或者背多少道题,一天背50个单词第二天还忘一半呢,别说一天做多少道题。起初一天就十几道题的照抄方式,过一周回过头来绝对忘得一干二净。大家做过的每一道题,都需要时长去复习、二刷、甚至去N刷。举个最简单的例子 79. 单词搜索这道题我反反复复至少刷了5、6遍,就是因为对递归、记忆化等思想太陌生了。


题目一直没思路怎么办

有的朋友遇到题目,就一定要做出来,想破头的也要想出个答案。结果一道题卡一两天....我日常刷题,如果一道题半个小时还没思路,那不用想了,肯定是这个题目涉及的知识点我没学过或者没掌握,果断去看题解,然后下来把题目对应的知识点学习一遍,再找同类型的题目检验学习成果。不要一味的死磕去浪费时间。


刷题方式与顺序

对于初学的朋友,建议一定要按照数据类型挨个去刷题,这样不仅能积累扎实的基础知识,也能在学习的同时不断巩固。至于随机刷题,等到所有数据结构和算法都学习完了再开始吧,力扣的每日一题对新手并不友好...


几行代码的题我不会

之前经常会遇到这种情况,一道题有思路但就是想好久做不出来,一看题解恍然大悟,我就是这么想的,我写的跟它差不多,就是那几行代码我没想明白。嗯,抱歉,没想明白就是没想明白,一行错也不能通过。还是你对这个知识点没学透彻,再学一遍吧。


遇到同类型题目还是不会做

和上面的类似,一样是这个类型的知识点没有充分掌握,或者是知识点的变种与延伸性掌握不足,接着刷就对了。


笔记的重要性

最后想强调的就是做笔记的重要性,当前刷了550道题,写了260道题解,本身将知识复述给他人,就是一个二次学习的机会。你在总结题解的同时,不仅方便了自己后期复习,也可以在这个过程中帮你梳理脑海中的知识体系。

另外还有一个好处,当你的题解有人点赞或者评论时,喜悦是一方面,更多的是你会点到这个题解里面看看这是什么题,当时是怎么做的,相当于你拥有了一个不定时复习的题型系统,简直不要太赞。

今天说了很多与刷题无关的内容,仅为了分享一些关于自己刷题过程中的总结,觉得对你有帮助的可以借鉴,觉得说的不和你意的,望轻喷。。。




相关文章
|
1月前
|
存储 算法
数据结构与算法学习二二:图的学习、图的概念、图的深度和广度优先遍历
这篇文章详细介绍了图的概念、表示方式以及深度优先遍历和广度优先遍历的算法实现。
51 1
数据结构与算法学习二二:图的学习、图的概念、图的深度和广度优先遍历
|
17天前
|
存储 算法 安全
2024重生之回溯数据结构与算法系列学习之串(12)【无论是王道考研人还是IKUN都能包会的;不然别给我家鸽鸽丟脸好嘛?】
数据结构与算法系列学习之串的定义和基本操作、串的储存结构、基本操作的实现、朴素模式匹配算法、KMP算法等代码举例及图解说明;【含常见的报错问题及其对应的解决方法】你个小黑子;这都学不会;能不能不要给我家鸽鸽丢脸啊~除了会黑我家鸽鸽还会干嘛?!!!
2024重生之回溯数据结构与算法系列学习之串(12)【无论是王道考研人还是IKUN都能包会的;不然别给我家鸽鸽丟脸好嘛?】
|
1月前
|
缓存 算法 Java
JVM知识体系学习六:JVM垃圾是什么、GC常用垃圾清除算法、堆内存逻辑分区、栈上分配、对象何时进入老年代、有关老年代新生代的两个问题、常见的垃圾回收器、CMS
这篇文章详细介绍了Java虚拟机(JVM)中的垃圾回收机制,包括垃圾的定义、垃圾回收算法、堆内存的逻辑分区、对象的内存分配和回收过程,以及不同垃圾回收器的工作原理和参数设置。
60 4
JVM知识体系学习六:JVM垃圾是什么、GC常用垃圾清除算法、堆内存逻辑分区、栈上分配、对象何时进入老年代、有关老年代新生代的两个问题、常见的垃圾回收器、CMS
|
13天前
|
机器学习/深度学习 人工智能 自然语言处理
【EMNLP2024】基于多轮课程学习的大语言模型蒸馏算法 TAPIR
阿里云人工智能平台 PAI 与复旦大学王鹏教授团队合作,在自然语言处理顶级会议 EMNLP 2024 上发表论文《Distilling Instruction-following Abilities of Large Language Models with Task-aware Curriculum Planning》。
|
1月前
|
算法
动态规划算法学习三:0-1背包问题
这篇文章是关于0-1背包问题的动态规划算法详解,包括问题描述、解决步骤、最优子结构性质、状态表示和递推方程、算法设计与分析、计算最优值、算法实现以及对算法缺点的思考。
62 2
动态规划算法学习三:0-1背包问题
|
17天前
|
算法 安全 搜索推荐
2024重生之回溯数据结构与算法系列学习(8)【无论是王道考研人还是IKUN都能包会的;不然别给我家鸽鸽丢脸好嘛?】
数据结构王道第2.3章之IKUN和I原达人之数据结构与算法系列学习x单双链表精题详解、数据结构、C++、排序算法、java、动态规划你个小黑子;这都学不会;能不能不要给我家鸽鸽丢脸啊~除了会黑我家鸽鸽还会干嘛?!!!
|
17天前
|
存储 算法 安全
2024重生之回溯数据结构与算法系列学习之顺序表【无论是王道考研人还真爱粉都能包会的;不然别给我家鸽鸽丢脸好嘛?】
顺序表的定义和基本操作之插入;删除;按值查找;按位查找等具体详解步骤以及举例说明
|
17天前
|
算法 安全 搜索推荐
2024重生之回溯数据结构与算法系列学习之单双链表精题详解(9)【无论是王道考研人还是IKUN都能包会的;不然别给我家鸽鸽丢脸好嘛?】
数据结构王道第2.3章之IKUN和I原达人之数据结构与算法系列学习x单双链表精题详解、数据结构、C++、排序算法、java、动态规划你个小黑子;这都学不会;能不能不要给我家鸽鸽丢脸啊~除了会黑我家鸽鸽还会干嘛?!!!
|
17天前
|
存储 Web App开发 算法
2024重生之回溯数据结构与算法系列学习之单双链表【无论是王道考研人还是IKUN都能包会的;不然别给我家鸽鸽丢脸好嘛?】
数据结构之单双链表按位、值查找;[前后]插入;删除指定节点;求表长、静态链表等代码及具体思路详解步骤;举例说明、注意点及常见报错问题所对应的解决方法
|
17天前
|
算法 安全 NoSQL
2024重生之回溯数据结构与算法系列学习之栈和队列精题汇总(10)【无论是王道考研人还是IKUN都能包会的;不然别给我家鸽鸽丢脸好嘛?】
数据结构王道第3章之IKUN和I原达人之数据结构与算法系列学习栈与队列精题详解、数据结构、C++、排序算法、java、动态规划你个小黑子;这都学不会;能不能不要给我家鸽鸽丢脸啊~除了会黑我家鸽鸽还会干嘛?!!!