小白如何高效刷题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选项:提示编译器执行完预处理就停下来,后边的编译、汇编、链接就先不执…...
Unity 大型手游碰撞性能优化指南
Unity 大型手游碰撞性能优化指南 版本: 2.1 作者: Unity性能优化团队 语言: 中文 前言 在Unity大型手游的开发征途中,碰撞检测如同一位隐形的舞者,它在游戏的物理世界中赋予物体交互的灵魂。然而,当这位舞者的舞步变得繁复冗余时,便会悄然消耗宝贵的计算资源,导致帧率下…...

DHCP介绍
DHCP介绍 1 DHCP简述2 DHCP协议分析2.1 主要流程2.2 DHCP全部报文介绍2.3 IP租用更新报文2.4 DHCP协议抓包分析 3 DHCP应用3.1 DNSmasq参数配置3.2 DNSmasq框架代码3.2.1 创建socket监听67端口3.2.2 监听67端口3.2.3 处理DHCP请求 3.3 DNSmasq模块排障方法 4 常见问题排查4.1 问…...
Python 训练营打卡 Day 45
TensorBoard 简单来说,TensorBoard 是 TensorFlow 自带的一个「可视化工具」,就像给机器学习模型训练过程装了一个「监控屏幕」。你可以用它直观看到训练过程中的数据变化(比如损失值、准确率)、模型结构、数据分布等,…...

Unreal从入门到精通之 UE4 vs UE5 VR性能优化实战
文章目录 前言:准备工作UE4 vs UE5 性能对比引擎核心技术方案对比UE5 优化总结项目设置可伸缩性组设置VolumetricCloud最后前言: 最近在使用UE5制作VR项目 制作完后发现,我们的场景一直很卡顿,场景优化也做到了极致,但是帧率最高也才30+ 但是我们看到一个竞品,他的帧率竟…...
【Linux命令学习】获取cpu信息 - lscpu命令学习
lscpu命令显示的是服务器cpu架构相关信息,lscpu从伪文件系统(sysfs)、/proc/cpuinfo和任何可用的特定体系架构库中收集cpu架构信息。输出内容包括:CPU、线程、内核的数量以及非同一存储器存取节点。此外还包括关于CPU高速缓存和高速缓存共享的信息&#…...

Go中的协程并发和并发panic处理
1 协程基础 1.1 协程定义(Goroutine) 概念:Go 语言特有的轻量级线程,由 Go 运行时(runtime)管理,相比系统线程(Thread),创建和销毁成本极低,占用…...

el-select 实现分页加载,切换也数滚回到顶部,自定义高度
el-select 实现分页加载,切换也数滚回到顶部,自定义高度 1.html <el-form-item label"俱乐部:" prop"club_id" label-width"120px"><el-select :disabled"Boolean(match_id)" style"w…...

【基于阿里云搭建数据仓库(离线)】Data Studio创建资源与函数
Data Studio支持在您的数据分析代码中引用自定义的资源和函数(支持MaxCompute、EMR、CDH、Flink),您需要先创建或上传资源、函数至目标工作空间,上传后才可在该工作空间的任务中使用。您可参考本文了解如何使用DataWorks可视化方式…...

如何有效删除 iPhone 上的所有内容?
“在出售我的 iPhone 之前,我该如何清除它?我担心如果我卖掉它,有人可能会从我的 iPhone 中恢复我的信息。” 升级到新 iPhone 后,你如何处理旧 iPhone?你打算出售、以旧换新还是捐赠?无论你选择哪一款&am…...

8天Python从入门到精通【itheima】-69~70(字符串的常见定义和操作+案例练习)
目录 69节-字符串的定义和操作 1.学习目标 2.数据容器视角下的字符串 3.字符串的下标索引 4.字符串是一个无法修改的数据容器 5.字符串的常用操作 【1】index方法 【2】replace方法:进过替换,得到一个新的字符串 【3】split方法:将字…...