当前位置: 首页 > news >正文

小白如何高效刷题Leetcode?

文章目录

  • 为什么会有这样的现象?
    • 研究与学习
    • 人生而有别
  • 如何解决困境?
    • 1. 要补的:化抽象为具体,列举找规律
    • 2. 要补的:前人总结的套路
    • 3. 与人交流探讨
    • 4. 多写总结文章
  • 总结

明明自觉学会了不少知识,可真正开始做题时,却还是出现了“一支笔,一双手,一道力扣(Leetcode)做一宿”的窘境?你是否也有过这样的经历,题型不算很难,看题解也能弄明白,可一到自己做就变成了与题面面相觑无从下手。

为什么会有这样的现象?

研究与学习

其实刷题本质类似于探索研究,探索当前这道题目,大量思索与尝试,在失败中总结前进,找到一种合适解法,这与先人发现电磁,发现各种定理定律,完全类似,只是难度不同。但是研究探索是相当耗费时间的,而学习则是一件相对简单的事情,毕竟我们用初高中6年时间学会了过去至少几百年人类耗费大量时间的研究成果,所以与其研究不如学习。

一道题目,它的解法可能多种,而每个人都有自己的特色,你探索的结果有可能是一条独特的小路,不具备共性,所以碰到类似题目仍然需要再探索就是“一道题做一宿”。

自己独立解决一件事情,探索一件事情是值得骄傲的,具有很高的成就感。但是你也会逐渐忘记自己的解法,与学习他人没有差别。但是研究时间成本太高,要接受站在巨人的肩膀上,而且未来有新的挑战在等着你,不必太心急。顺带插一句,个人认为:其实与别人交流学习,合力解决问题其实本身就是人类智能的本质,如果不是如此的话,为何爱因斯坦等人,也没有解决世界上所有难题。

刷题的初心是为了掌握某种解题思路,不是为了做题。

人生而有别

这个问题不是孤例,人生中有很多类似问题和现象,比如:很多女生学不好物理学和立体几何问题,照着菜谱一步一步做菜却超级难吃,怎么都学不会跳舞,走路顺拐;而恰恰相反为是,你学习某事情仿佛存在着“似曾相识”的感觉,一点就通,无师自通,比如:4岁萌娃蹭姐姐拉丁舞课效果超好,妹妹一夜学会弹吉他,学霸物理学同学不上课物理考试依旧满分。

人生而有别,各自带着各自的天赋和后天学识,遇到当前问题,犹如两个齿轮相遇,一切顺利如齿轮严丝合缝,更大多数情况下,就是不严丝合缝,我们需要调整自身,精进自身。

我们有哪些不足呢? 个人做了些总结,会在下面讲述。

如何解决困境?

1. 要补的:化抽象为具体,列举找规律

人有五感:视、听、嗅、味、触。视觉最重要,它是最高效、最快速的吸收外界知识的方式,是造物主赐予的瑰宝,要善用之。想不明白的时候,可以化抽象为具体,用网、树、队列和形状,符号等在纸上推演类似情况。这种方法是模拟题目,罗列多种情况,进行归纳总结找规律。

重要的是:形象生动地表示你当前的问题,降低思考难度。心算或心里推演,容易糊涂或者遗忘某事,不如在纸上快。

2. 要补的:前人总结的套路

学习前人总结好的各种类型算法套路。

你在Leetcode上遇到的没一题目,基本都属于某种套路。尽可能先去跟某人、某公开课、某视频、某书去学习当前问题类型。注意我说的顺序,这里表示其学习难以程度。跟人学是最简单最容易的,因为人具备最高的交互性、生动形象。

比如以下是一些套路:

  1. 硬币称重----信息熵问题。
  2. 兔子繁殖,上楼梯的方法----递推问题:前面几项值可以推断出当前项的值。
  3. 有限空间内如何装最大价值的货物----背包系列问题。
  4. 取石子,问先手输赢------博弈论。

如果看书最好阅读国外书籍或者机械工业出版社的翻译的书籍,比国内教材质量高些,还有丰富习题,学然后练习才能掌握。

基本遇到的每个题目,都是一种或多种套路的组合。而每一种套路,其模式中都有一个关键标识,掌握后很容易在分析时发现很有此标识,使用套路。

3. 与人交流探讨

与人交流和探讨,有很多好处:

  1. 人能够用动作、眼神、表情、气场、语言、图形等方法,高效地让你明白某个概念,交互性极强,这是无法取代的。

  2. 与人探讨交流,是思维碰撞,是你主动或被动性的积极思考,在碰撞的过程中,你会灵光一闪或醍醐灌顶,比独自思考要快很多。

教别人也是一种探讨,如果你让教授明白某个道理,那有可能是教授理解能力强,你半知半解教授也能脑补所有知识。如果你让小学生理解某个套路,那你是真懂这个道理的。

隔了很久再回来和别人探讨某个知识,也许时过境迁,你用新的视角去看旧的知识,也许有新的体会,温故而知新。

4. 多写总结文章

写总结是一种主动性思考,是慢慢理顺个人思路,并总结升华质变的过程,而质变后这种知识或者套路会融入你自己思维体系,成为你的一部分。

文章也是考验你是否真正理解这种套路。大道至简,当你能简洁扼要地让某小学生听懂(夸张了)某个道理,说明你思考至深,化繁为简,是个中大师。

总结

  1. 刷题是为了掌握套路,但是耗费大量时间,不赞成直接刷题。
  2. 向人、视频、书学套路,大量练习,与人探讨,写总结文章,形成自身知识。

如果您有任何疑问,请私信或留评论,我会在晚上回复您。

相关文章:

小白如何高效刷题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笔试面试备考平台_牛客网 题目大意&#xff1a;给出一字符串t&#xff0c;求一个长为n的字符串&#xff0c;使tst中包含且仅包含两个t 1<n<1000;测试样例组数<1000 思路&#xff1a;一开始很容易想到如果t里有1&#xff0c;s就全0&#xff0c;否则s就全…...

【React学习】React父子组件通讯

1. 父到子传值 在React框架中&#xff0c;父组件可以通过 props 将数据传递给子组件。子组件通过读取 props 来访问父组件传递过来的数据。 当父组件的 props 发生变化时&#xff0c;React 会自动重新渲染子组件以确保子组件中使用的数据保持同步。 父组件 import React, {…...

NASM汇编

1. 前置知识 1. 汇编语言两种风格 intel&#xff1a;我们学的NASM就属于Intel风格AT&T&#xff1a;GCC后端工具默认使用这种风格&#xff0c;当然我们也可以加选项改成intel风格 2. 代码 1. 段分布 .text: 存放的是二进制机器码&#xff0c;只读.data: 存放有初始化的…...

第三章 HL7 架构和可用工具 - 使用 HL7 架构结构页面

文章目录 第三章 HL7 架构和可用工具 - 使用 HL7 架构结构页面使用 HL7 架构结构页面查看文档类型列表查看消息结构查看段结构 第三章 HL7 架构和可用工具 - 使用 HL7 架构结构页面 使用 HL7 架构结构页面 通过 HL7 架构页面&#xff0c;可以导入和查看 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…...

阻塞队列(模拟实现)

概念 阻塞队列是带有阻塞功能的队列 特性 当队列满的时候&#xff0c;继续入队列&#xff0c;就会出现阻塞&#xff0c;阻塞到其他线程从队列中取走元素为止 当队列空的时候&#xff0c;继续出队列&#xff0c;也会发生阻塞&#xff0c;阻塞到其他线程往队列中添加元素为止 特…...

VScode中python的相对路径与绝对路径 FileNotFoundError: [Errno 2] No such file or directory

VScode中&#xff0c;python里的相对路径是相对于当前工作目录来定位的&#xff0c;而当前的工作目录在VScode中下方的终端窗口会有提示&#xff1a; 说明此时的工作目录并非当前python文件所在的目录&#xff0c;而是C:\Users\xxxxx(你的用户名)。因此&#xff0c;使用VScode…...

Unity XML2——C#读写XML

一、XML 文件的存放位置 &#xff08;一&#xff09;只读不写的 XML ​ 放在 Resouces 或者 StreamingAssets 文件夹下&#xff0c;详见 Unity基础3——Resources资源动态加载_weixin_53163894的博客-CSDN博客。 &#xff08;二&#xff09;动态存储的 XML ​ 放在 Applica…...

带wiringPi库的交叉编译 ---宿主机x86Ubuntu,目标机ARMv8 aarch64(香橙派)

带wiringPi库的交叉编译如何进行 先交叉编译wiringPi库&#xff0c;编译出的库适合香橙派&#xff0c;这时候交叉编译可执行程序的平台和链接库的格式也是正确的&#xff0c;然后通过-I和-L来指定链接的wiringPi库的头文件和库的位置&#xff0c;但是现在还没有学习过&#xf…...

数据仓库基础知识

什么是数据仓库&#xff1f; 数仓&#xff0c;DataWarehouse&#xff0c;是一个 面向主题的、集成的、稳定的、与时间相关的 数据集合。 而这个数据集合的建立&#xff0c;是为了支持管理者的决策过程。 也就是说&#xff0c;我们通过建设数仓&#xff0c;为业务中的流程改进、…...

M 芯片的 macos 系统安装虚拟机 centos7 网络配置

centos 安装之前把网络配置配好或者是把网线插好 第一步找到这个 第二步打开网络适配器 选择图中所指位置 设置好之后 开机启动 centos 第三步 开机以后 编写网卡文件保存 重启网卡就可以了&#xff0c;如果重启网卡不管用&#xff0c;则重启虚拟机即可 “ ifcfg-ens160 ” 这…...

AcWing 3708. 求矩阵的鞍点

输入样例&#xff1a; 3 4 1 2 3 4 1 2 3 4 1 2 3 4输出样例&#xff1a; 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 职责&#xff1a; 1.负责web前端架构的搭建&#xff0c;核心业务功能开发和核心代码编写。 2.配合产品经理&#xff0c;实现产品UI和交互方面的需求&#xff0c;持续界面优化&#xff0c;提升用户体验。 3.参与相关业务需求变更评审。 4.…...

从源程序到可执行文件的四个过程

从源程序到可执行文件的四个过程 预处理编译汇编链接 程序要运行起来&#xff0c;必须要经过四个步骤&#xff1a;预处理、编译、汇编和链接&#xff0c;如下图所示&#xff1a; -E选项&#xff1a;提示编译器执行完预处理就停下来&#xff0c;后边的编译、汇编、链接就先不执…...

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 简单来说&#xff0c;TensorBoard 是 TensorFlow 自带的一个「可视化工具」&#xff0c;就像给机器学习模型训练过程装了一个「监控屏幕」。你可以用它直观看到训练过程中的数据变化&#xff08;比如损失值、准确率&#xff09;、模型结构、数据分布等&#xff0c…...

Unreal从入门到精通之 UE4 vs UE5 VR性能优化实战

文章目录 前言:准备工作UE4 vs UE5 性能对比引擎核心技术方案对比UE5 优化总结项目设置可伸缩性组设置VolumetricCloud最后前言: 最近在使用UE5制作VR项目 制作完后发现,我们的场景一直很卡顿,场景优化也做到了极致,但是帧率最高也才30+ 但是我们看到一个竞品,他的帧率竟…...

【Linux命令学习】获取cpu信息 - lscpu命令学习

lscpu命令显示的是服务器cpu架构相关信息&#xff0c;lscpu从伪文件系统(sysfs)、/proc/cpuinfo和任何可用的特定体系架构库中收集cpu架构信息。输出内容包括&#xff1a;CPU、线程、内核的数量以及非同一存储器存取节点。此外还包括关于CPU高速缓存和高速缓存共享的信息&#…...

Go中的协程并发和并发panic处理

1 协程基础 1.1 协程定义&#xff08;Goroutine&#xff09; 概念&#xff1a;Go 语言特有的轻量级线程&#xff0c;由 Go 运行时&#xff08;runtime&#xff09;管理&#xff0c;相比系统线程&#xff08;Thread&#xff09;&#xff0c;创建和销毁成本极低&#xff0c;占用…...

el-select 实现分页加载,切换也数滚回到顶部,自定义高度

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

【基于阿里云搭建数据仓库(离线)】Data Studio创建资源与函数

Data Studio支持在您的数据分析代码中引用自定义的资源和函数&#xff08;支持MaxCompute、EMR、CDH、Flink&#xff09;&#xff0c;您需要先创建或上传资源、函数至目标工作空间&#xff0c;上传后才可在该工作空间的任务中使用。您可参考本文了解如何使用DataWorks可视化方式…...

如何有效删除 iPhone 上的所有内容?

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

8天Python从入门到精通【itheima】-69~70(字符串的常见定义和操作+案例练习)

目录 69节-字符串的定义和操作 1.学习目标 2.数据容器视角下的字符串 3.字符串的下标索引 4.字符串是一个无法修改的数据容器 5.字符串的常用操作 【1】index方法 【2】replace方法&#xff1a;进过替换&#xff0c;得到一个新的字符串 【3】split方法&#xff1a;将字…...