复杂逻辑题目的好帮手:注释和断言

Java22

前言

最近在刷题的时候,遇到一些逻辑比较复杂的题,往往会遇到困难,经常写不出来。即使在有debug帮助的时候,也往往会出现思虑不周,导致一错再错的情况,即好不容易debug通过一个测试用例,然后发现被另一个测试用例卡住。在周赛双周赛中,这意味着大量的罚时;在工作中,这意味着浪费大量的时间。因此需要有一个方法来辅助思考,完成正确的分类讨论。

注释与断言的作用

人脑的短时存储能力很差(内存/运存很小),因此在处理复杂问题时往往会顾此失彼,此时就需要工具来辅助记录思想(外存)。注释与断言就是起一个这样的作用。

如何使用注释

注释应该给出关键的信息,即一个循环/函数,当进入的时候,关键变量的值应该是什么。当离开的时候,关键变量的值应该是什么。

如何使用断言

即便使用了注释,也不能保证写出的代码在正确的地点有正确的值,此时就需要 assert来自动检验值是否正确。

什么时候使用注释与断言

在刷题/竞赛的时候,为了提高效率,可以采用以下策略:

输入验证码查看隐藏内容

扫描二维码关注本站微信公众号 Johngo学长
或者在微信里搜索 Johngo学长
回复 svip 获取验证码
wechat Johngo学长

相关文章
【Java中的线程】java.lang.Thread 类分析 Java

【Java中的线程】java.lang.Thread 类分析

进程和线程 联想一下现实生活中的例子--烧开水,烧开水时是不是不需要在旁边守着,交给热水机完成,烧开水这段时间可以去干一点其他的事情,例如将衣服丢到洗衣机中洗衣服。这样开水烧完,衣服洗的也差不多了。这...
java环境变量配置 Java

java环境变量配置

环境变量的配置: 下载好的JDK是一个可执行安装程序,双击安装。将安装路径改为:D:\Program Files\Java\jdk1.6.0_05(当然其他路径也可以)。 JDK安装完成之后我们来设置...
从IO到netty Java

从IO到netty

一、pageCache 1.FileOutputStream与BufferedOutputStream的主要区别 系统调&#x...
再见了Antirez永远的Redis之神 Java

再见了Antirez永远的Redis之神

其实antirez(Redis作者)退出Redis维护一发布我就在很多咨询网站上面看到了,当时也没太多感慨。 今天比较有空想去看看霉霉Twitter的,然后看到了antirez,我就又一次回顾了他的退...
idea-启动速度优化 Java

idea-启动速度优化

原因:默认分配的内存太小了 解决方式:更改idea(64).exe.vmoptions配置 D:\ADBSpace\ProgramFiles\ideaIU-2021.2.win\bin 默认配置 ``...
M1 MAC 装ubuntu更换镜像源 Java

M1 MAC 装ubuntu更换镜像源

记录一下今天突发奇想装个ubuntu遇到问题 w镜像源:更换镜像源网上教程基本对的,但要注意机型(ps:m1 mac) 补:很多时候是对问题理解不到位,比如我直接搜索arm ubuntu镜像源 认识有...
恐怖的Hibernate和JavaFX Table CallBack! Java

恐怖的Hibernate和JavaFX Table CallBack!

最近在做 JavaFX 应用,不管再怎么避免数据持久化,但面对几十万的数据量的时候也只能乖乖的去配置持久层框架了。 一开始打算还是使用Mybatis,我在做Web的时候就是一只用Mybatis框架,而...
MySQL索引凭什么能让查询效率提高这么多? Java

MySQL索引凭什么能让查询效率提高这么多?

我相信大家在数据库优化的时候都会说到索引,我也不例外,大家也基本上能对数据结构的优化回答个一二三,以及页缓存之类的都能扯上几句,但是有一次阿里P9的一个面试问我:你能从计算机层面开始说一下一个索引数据...
Halo 开源项目学习(五):评论与点赞 Java

Halo 开源项目学习(五):评论与点赞

基本介绍 博客系统中,用户浏览文章时可以在文章下方发表自己的观点,与博主或其他用户进行互动,也可以为喜欢的文章点赞。下面我们一起分析一下 Halo 项目中评论和点赞功能的实现过程。 发表评论 评论可以...
Java(12)静态字段与静态方法 Java

Java(12)静态字段与静态方法

之前我们都定义的 main方法都被标记了 static修饰符,那到底是什么意思?下面我们来看看 静态字段 如果将一个字段定义为 static,每个类只有一个这样的字段。而对于非静态的实例字段,每个对象...
mybatis中复杂查询(多对一和一对多)1-环境搭建 Java

mybatis中复杂查询(多对一和一对多)1-环境搭建

一.基本知识 (1).多对一的理解(以学生和老师为例子) 老师角度:一个老师会教多个学生【一对多】 学生角度:多个学生对应一个老师【多对一】 (2).如何处理:比较常见的两种方式,一个是联表查询,一个...