小白如何高效刷题Leetcode?
文章目录
- 为什么会有这样的现象?
- 研究与学习
- 人生而有别
- 如何解决困境?
- 1. 要补的:化抽象为具体,列举找规律
- 2. 要补的:前人总结的套路
- 3. 与人交流探讨
- 4. 多写总结文章
- 总结
明明自觉学会了不少知识,可真正开始做题时,却还是出现了“一支笔,一双手,一道力扣(Leetcode)做一宿”的窘境?你是否也有过这样的经历,题型不算很难,看题解也能弄明白,可一到自己做就变成了与题面面相觑无从下手。
为什么会有这样的现象?
研究与学习
其实刷题本质类似于探索研究,探索当前这道题目,大量思索与尝试,在失败中总结前进,找到一种合适解法,这与先人发现电磁,发现各种定理定律,完全类似,只是难度不同。但是研究探索是相当耗费时间的,而学习则是一件相对简单的事情,毕竟我们用初高中6年时间学会了过去至少几百年人类耗费大量时间的研究成果,所以与其研究不如学习。
一道题目,它的解法可能多种,而每个人都有自己的特色,你探索的结果有可能是一条独特的小路,不具备共性,所以碰到类似题目仍然需要再探索就是“一道题做一宿”。
自己独立解决一件事情,探索一件事情是值得骄傲的,具有很高的成就感。但是你也会逐渐忘记自己的解法,与学习他人没有差别。但是研究时间成本太高,要接受站在巨人的肩膀上,而且未来有新的挑战在等着你,不必太心急。顺带插一句,个人认为:其实与别人交流学习,合力解决问题其实本身就是人类智能的本质,如果不是如此的话,为何爱因斯坦等人,也没有解决世界上所有难题。
刷题的初心是为了掌握某种解题思路,不是为了做题。
人生而有别
这个问题不是孤例,人生中有很多类似问题和现象,比如:很多女生学不好物理学和立体几何问题,照着菜谱一步一步做菜却超级难吃,怎么都学不会跳舞,走路顺拐;而恰恰相反为是,你学习某事情仿佛存在着“似曾相识”的感觉,一点就通,无师自通,比如:4岁萌娃蹭姐姐拉丁舞课效果超好,妹妹一夜学会弹吉他,学霸物理学同学不上课物理考试依旧满分。
人生而有别,各自带着各自的天赋和后天学识,遇到当前问题,犹如两个齿轮相遇,一切顺利如齿轮严丝合缝,更大多数情况下,就是不严丝合缝,我们需要调整自身,精进自身。
我们有哪些不足呢? 个人做了些总结,会在下面讲述。
如何解决困境?
1. 要补的:化抽象为具体,列举找规律
人有五感:视、听、嗅、味、触。视觉最重要,它是最高效、最快速的吸收外界知识的方式,是造物主赐予的瑰宝,要善用之。想不明白的时候,可以化抽象为具体,用网、树、队列和形状,符号等在纸上推演类似情况。这种方法是模拟题目,罗列多种情况,进行归纳总结找规律。
重要的是:形象生动地表示你当前的问题,降低思考难度。心算或心里推演,容易糊涂或者遗忘某事,不如在纸上快。
2. 要补的:前人总结的套路
学习前人总结好的各种类型算法套路。
你在Leetcode上遇到的没一题目,基本都属于某种套路。尽可能先去跟某人、某公开课、某视频、某书去学习当前问题类型。注意我说的顺序,这里表示其学习难以程度。跟人学是最简单最容易的,因为人具备最高的交互性、生动形象。
比如以下是一些套路:
- 硬币称重----信息熵问题。
- 兔子繁殖,上楼梯的方法----递推问题:前面几项值可以推断出当前项的值。
- 有限空间内如何装最大价值的货物----背包系列问题。
- 取石子,问先手输赢------博弈论。
如果看书最好阅读国外书籍或者机械工业出版社的翻译的书籍,比国内教材质量高些,还有丰富习题,学然后练习才能掌握。
基本遇到的每个题目,都是一种或多种套路的组合。而每一种套路,其模式中都有一个关键标识,掌握后很容易在分析时发现很有此标识,使用套路。
3. 与人交流探讨
与人交流和探讨,有很多好处:
-
人能够用动作、眼神、表情、气场、语言、图形等方法,高效地让你明白某个概念,交互性极强,这是无法取代的。
-
与人探讨交流,是思维碰撞,是你主动或被动性的积极思考,在碰撞的过程中,你会灵光一闪或醍醐灌顶,比独自思考要快很多。
教别人也是一种探讨,如果你让教授明白某个道理,那有可能是教授理解能力强,你半知半解教授也能脑补所有知识。如果你让小学生理解某个套路,那你是真懂这个道理的。
隔了很久再回来和别人探讨某个知识,也许时过境迁,你用新的视角去看旧的知识,也许有新的体会,温故而知新。
4. 多写总结文章
写总结是一种主动性思考,是慢慢理顺个人思路,并总结升华质变的过程,而质变后这种知识或者套路会融入你自己思维体系,成为你的一部分。
文章也是考验你是否真正理解这种套路。大道至简,当你能简洁扼要地让某小学生听懂(夸张了)某个道理,说明你思考至深,化繁为简,是个中大师。
总结
- 刷题是为了掌握套路,但是耗费大量时间,不赞成直接刷题。
- 向人、视频、书学套路,大量练习,与人探讨,写总结文章,形成自身知识。
如果您有任何疑问,请私信或留评论,我会在晚上回复您。
相关文章:
小白如何高效刷题Leetcode?
文章目录 为什么会有这样的现象?研究与学习人生而有别 如何解决困境?1. 要补的:化抽象为具体,列举找规律2. 要补的:前人总结的套路3. 与人交流探讨4. 多写总结文章 总结 明明自觉学会了不少知识,可真正开始…...
使用IDEA打jar包的详细图文教程
1. 点击intellij idea左上角的“File”菜单 -> Project Structure 2. 点击"Artifacts" -> 绿色的"" -> “JAR” -> Empty 3. Name栏填入自定义的名字,Output ditectory 选择 jar 包目标目录,Available Elements 里右击…...
《MySQL 实战 45 讲》课程学习笔记(二)
日志系统:一条 SQL 更新语句是如何执行的? 与查询流程不一样的是,更新流程还涉及两个重要的日志模块:redo log(重做日志)和 binlog(归档日志)。 重要的日志模块:redo l…...
微软亚研院提出模型基础架构RetNet或将成为Transformer有力继承者
作为全新的神经网络架构,RetNet 同时实现了良好的扩展结果、并行训练、低成本部署和高效推理。这些特性将使 RetNet 有可能成为继 Transformer 之后大语言模型基础网络架构的有力继承者。实验数据也显示,在语言建模任务上: RetNet 可以达到与…...
探索单例模式:设计模式中的瑰宝
文章目录 常用的设计模式有以下几种:一.创建型模式(Creational Patterns):二.结构型模式(Structural Patterns):三.行为型模式(Behavioral Patterns):四.并发…...
Bobo String Construction 2023牛客暑期多校训练营4-A
登录—专业IT笔试面试备考平台_牛客网 题目大意:给出一字符串t,求一个长为n的字符串,使tst中包含且仅包含两个t 1<n<1000;测试样例组数<1000 思路:一开始很容易想到如果t里有1,s就全0,否则s就全…...
【React学习】React父子组件通讯
1. 父到子传值 在React框架中,父组件可以通过 props 将数据传递给子组件。子组件通过读取 props 来访问父组件传递过来的数据。 当父组件的 props 发生变化时,React 会自动重新渲染子组件以确保子组件中使用的数据保持同步。 父组件 import React, {…...
NASM汇编
1. 前置知识 1. 汇编语言两种风格 intel:我们学的NASM就属于Intel风格AT&T:GCC后端工具默认使用这种风格,当然我们也可以加选项改成intel风格 2. 代码 1. 段分布 .text: 存放的是二进制机器码,只读.data: 存放有初始化的…...
第三章 HL7 架构和可用工具 - 使用 HL7 架构结构页面
文章目录 第三章 HL7 架构和可用工具 - 使用 HL7 架构结构页面使用 HL7 架构结构页面查看文档类型列表查看消息结构查看段结构 第三章 HL7 架构和可用工具 - 使用 HL7 架构结构页面 使用 HL7 架构结构页面 通过 HL7 架构页面,可以导入和查看 HL7 版本 2 架构规范。…...
spring注解驱动开发(一)
1、需要导入的spring框架的依赖 <dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>4.3.12.RELEASE</version></dependency>2、Configuration 设置类为配置类 3、Annota…...
Vue3搭建启动
Vue3搭建&启动 一、创建项目二、启动项目三、配置项目1、添加编辑器配置文件2、配置别名3、处理sass/scss4、处理tsx(不用的话可以不处理) 四、添加Eslint 一、创建项目 npm create vite 1.project-name 输入项目名vue3-vite 2.select a framework 选择框架 3.select a var…...
阻塞队列(模拟实现)
概念 阻塞队列是带有阻塞功能的队列 特性 当队列满的时候,继续入队列,就会出现阻塞,阻塞到其他线程从队列中取走元素为止 当队列空的时候,继续出队列,也会发生阻塞,阻塞到其他线程往队列中添加元素为止 特…...
VScode中python的相对路径与绝对路径 FileNotFoundError: [Errno 2] No such file or directory
VScode中,python里的相对路径是相对于当前工作目录来定位的,而当前的工作目录在VScode中下方的终端窗口会有提示: 说明此时的工作目录并非当前python文件所在的目录,而是C:\Users\xxxxx(你的用户名)。因此,使用VScode…...
Unity XML2——C#读写XML
一、XML 文件的存放位置 (一)只读不写的 XML 放在 Resouces 或者 StreamingAssets 文件夹下,详见 Unity基础3——Resources资源动态加载_weixin_53163894的博客-CSDN博客。 (二)动态存储的 XML 放在 Applica…...
带wiringPi库的交叉编译 ---宿主机x86Ubuntu,目标机ARMv8 aarch64(香橙派)
带wiringPi库的交叉编译如何进行 先交叉编译wiringPi库,编译出的库适合香橙派,这时候交叉编译可执行程序的平台和链接库的格式也是正确的,然后通过-I和-L来指定链接的wiringPi库的头文件和库的位置,但是现在还没有学习过…...
数据仓库基础知识
什么是数据仓库? 数仓,DataWarehouse,是一个 面向主题的、集成的、稳定的、与时间相关的 数据集合。 而这个数据集合的建立,是为了支持管理者的决策过程。 也就是说,我们通过建设数仓,为业务中的流程改进、…...
M 芯片的 macos 系统安装虚拟机 centos7 网络配置
centos 安装之前把网络配置配好或者是把网线插好 第一步找到这个 第二步打开网络适配器 选择图中所指位置 设置好之后 开机启动 centos 第三步 开机以后 编写网卡文件保存 重启网卡就可以了,如果重启网卡不管用,则重启虚拟机即可 “ ifcfg-ens160 ” 这…...
AcWing 3708. 求矩阵的鞍点
输入样例: 3 4 1 2 3 4 1 2 3 4 1 2 3 4输出样例: 1 4 4 2 4 4 3 4 4 #include<bits/stdc.h> using namespace std; const int N1010; int n,m,a[N][N],x[N],y[N],flag1; int main(){scanf("%d%d",&n,&m);for(int i1;i<n;i…...
web前端开发工程师的具体职责范本(合集)
web前端开发工程师的具体职责范本1 职责: 1.负责web前端架构的搭建,核心业务功能开发和核心代码编写。 2.配合产品经理,实现产品UI和交互方面的需求,持续界面优化,提升用户体验。 3.参与相关业务需求变更评审。 4.…...
从源程序到可执行文件的四个过程
从源程序到可执行文件的四个过程 预处理编译汇编链接 程序要运行起来,必须要经过四个步骤:预处理、编译、汇编和链接,如下图所示: -E选项:提示编译器执行完预处理就停下来,后边的编译、汇编、链接就先不执…...
浅谈 React Hooks
React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...
shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...
UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)
UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中,UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化…...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...
现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?
现有的 Redis 分布式锁库(如 Redisson)相比于开发者自己基于 Redis 命令(如 SETNX, EXPIRE, DEL)手动实现分布式锁,提供了巨大的便利性和健壮性。主要体现在以下几个方面: 原子性保证 (Atomicity)ÿ…...
Razor编程中@Html的方法使用大全
文章目录 1. 基础HTML辅助方法1.1 Html.ActionLink()1.2 Html.RouteLink()1.3 Html.Display() / Html.DisplayFor()1.4 Html.Editor() / Html.EditorFor()1.5 Html.Label() / Html.LabelFor()1.6 Html.TextBox() / Html.TextBoxFor() 2. 表单相关辅助方法2.1 Html.BeginForm() …...
GO协程(Goroutine)问题总结
在使用Go语言来编写代码时,遇到的一些问题总结一下 [参考文档]:https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现: 今天在看到这个教程的时候,在自己的电…...
海云安高敏捷信创白盒SCAP入选《中国网络安全细分领域产品名录》
近日,嘶吼安全产业研究院发布《中国网络安全细分领域产品名录》,海云安高敏捷信创白盒(SCAP)成功入选软件供应链安全领域产品名录。 在数字化转型加速的今天,网络安全已成为企业生存与发展的核心基石,为了解…...
