小白如何高效刷题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选项:提示编译器执行完预处理就停下来,后边的编译、汇编、链接就先不执…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...
系统设计 --- MongoDB亿级数据查询优化策略
系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...
【磁盘】每天掌握一个Linux命令 - iostat
目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...
Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务
通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...

IT供电系统绝缘监测及故障定位解决方案
随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

tree 树组件大数据卡顿问题优化
问题背景 项目中有用到树组件用来做文件目录,但是由于这个树组件的节点越来越多,导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多,导致的浏览器卡顿,这里很明显就需要用到虚拟列表的技术&…...
鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南
1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发,使用DevEco Studio作为开发工具,采用Java语言实现,包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...
return this;返回的是谁
一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请,不同级别的经理有不同的审批权限: // 抽象处理者:审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...