千锤百炼之算法Scanner和System.out引起超时解决办法

题外话

觉得这个内容还是很关键的,过来写一下吧

本次内容有点抽象大家试着听一下

正题

做过算法题的人都知道,无论是在力扣还是牛客或者别的网站刷题,很多情况下都会遇到输入输出的情况,当我们用Scanner和System.out.print()就有可能产生超时问题

如下图

接下来会有一段代码,我会带大家搞懂每段代码是做什么的

import java.io.PrintWriter;
import java.util.StringTokenizer;
import java.io.*;
public class AlogrithmDemo04 {

//将字节流转换成字符流,当我们打印输出的时候我们把打印数据放到内存缓冲区里面

//最后会把缓冲区数据统一放到文件里面

public static PrintWriter out =new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));


        public static Read in = new Read();

        public static void main(String[] args) throws IOException
        {
            // 写代码

            out.close();
        }
    }


    class Read // 自定义快速读入
    {

//字符串裁剪
        StringTokenizer st = new StringTokenizer("");

//将字节流转换成带内存缓冲区的字符流
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        String next() throws IOException
        {

//后面还有数据就进行循环
            while(!st.hasMoreTokens())
            {

//从字符缓冲区拿一行数据交给st裁剪
                st = new StringTokenizer(bf.readLine());
            }
            return st.nextToken();
        }
//裁剪出来的转换成字符串型
        String nextLine() throws IOException
        {
            return bf.readLine();
        }

        int nextInt() throws IOException
        {
            return Integer.parseInt(next());
        }

        long nextLong() throws IOException
        {
            return Long.parseLong(next());
        }

        double nextDouble() throws IOException
        {
            return Double.parseDouble(next());
        }
    }

当然,我们写算法题的时候如果不出现因为用Scanner和System.out超时情况,其实不需要使用这个

但是一旦出现因为以上情况超时一定要使用上述代码

大家尽量去理解,实在不行就硬背下来吧

小结

千锤百炼算法系列持续更新中...

喜欢的家人们麻烦给个三连(点赞关注收藏!!!)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/826895.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

6、掌握对象在内存中的分配与变迁

6.1、前文回顾 在昨天的文章中,我们已经介绍了一些关于对象分配的基础知识。现在,大家应该对这些概念有了一定的了解。在编程中,我们创建的对象通常分为两类: 短期存活的对象:这类对象在Java堆内存中分配后,会迅速使用完毕并被垃圾回收器回收。长期存活的对象:这类对象…

远程计算机或设备将不接受连接_解决方法

重启了下电脑遇到了无法联网的问题,解决方法如下: 打开“控制面板”; 打开Internet选项; 点击“连接”; 点击“局域网设置”; 设置选项为下图: 连接成功了: 原因: 打…

《论文阅读》对比学习下的自然语言生成任务系列论文讲解

《论文阅读》对比学习下的自然语言生成任务系列论文讲解 前言基本知识对比学习(Contrastive Learning)无监督的对比学习监督对比学习NLG with Supervised Contrastive LearningCONT: Contrastive Neural Text Generation(NIPs 2022)Multi-level Adaptive Contrastive Learn…

数字化到底具有何种魔力!成为跟上时代的必经之路?

数字化确实具有深远的魔力和吸引力,成为现代企业在跟上时代步伐、实现持续发展和创新的重要驱动力。相较于传统信息化,数字化转型能够为企业带来更为显著和全面的降本增效效应。 首先,数字化转型通过深度融合信息技术和管理标准化&#xff0c…

利用Vue 2路由传递Props:提升组件间数据交互的灵活性与效率

利用Vue 2路由传递Props:提升组件间数据交互的灵活性与效率 在构建基于Vue 2的单页应用程序(SPA)时,Vue Router扮演着至关重要的角色,它负责管理应用的路由导航和页面间的切换。不仅如此,Vue Router还提供…

Java八股文面试之多线程篇

文章目录 线程有哪几种状态。创建多线程有几种方法?如何停止一个正在运行的线程sleep()和wait() 有什么区别?Thread 类中的start() 和 run() 方法有什么区别?Thread类中的yield方法有什么作用?乐观锁和悲观锁的理解以及实现有三个线程T1,T2,T3如何保证顺序执行简述一下你对…

星期一(蓝桥杯)

题目 整个20世纪(1901年1月1日至2000年12月31日之间),一共有多少个星期一?(不要告诉我你不知道今天是星期几) 以下程序实现了这一功能,请你补全以下空白处内容: 提示: 判断1901年1月1日到20…

GPU版本torch使用教程

GPU版本torch使用教程 一、下载配置CUDA和CUDNN (1)进入cmd使用nvidia-smi.exe查看自己电脑支持的最新CUDA版本(可以下载地低版本),如图: 也可以通过NVIDIA控制面板(NVIDIA Control Panel&am…

HTML重要标签梳理学习

1、HTML文件的框架 使用VS Code编码时&#xff0c;输入!选中第一个&#xff01;就可以快速生成一个HTML文件框架。 2、标签 <hr> <!--下划线--> <br> <!--换行--> <strong>加粗</strong> &…

C++11——线程库的理解与使用

目录 前言 一、线程库的构造 1.默认构造 2.带参构造 3.拷贝构造与赋值拷贝&#xff08;不支持&#xff09; 4.移动构造 二、线程调用lambda函数 三、线程安全与锁 1.lambda中的线程与锁 2.函数指针中的线程与锁 3.trylock() 4.recursive_mutex 5.lock_gurad守卫锁…

开源工具_Aider_重塑编程体验

项目地址&#xff1a;GitHub - paul-gauthier/aider: aider is AI pair programming in your terminal编程语言&#xff1a;主要使用 PythonStar&#xff1a;8.9K功能&#xff1a;在终端中直接与 GPT-3.5/GPT-4 交互&#xff0c;编写或修改代码主要优点&#xff1a;增加了代码生…

JAVA-服务器搭建-创建web后端项目

首先打开IDEA 点击新建项目 写好名称-模板选择 Web应用程序 -语言选择 Java 构建系统选择 Maven 然后点击下一步 选择版本-选择依赖项 Web Profile 点击创建 点击当前文件-选择编辑配置 选择左上角的加号-选择Tomcat服务器-选择本地 点击配置-选择到Tomcat目录-点击确定 起个…

利用STM32 HAL库实现USART串口通信,并通过printf重定向输出“Hello World“

一、开发环境 硬件&#xff1a;正点原子探索者 V3 STM32F407 开发板 单片机&#xff1a;STM32F407ZGT6 Keil版本&#xff1a;5.32 STM32CubeMX版本&#xff1a;6.9.2 STM32Cube MCU Packges版本&#xff1a;STM32F4 V1.27.1 上一篇使用STM32F407的HAL库只需1行代码实现US…

记一次etcd数据恢复

使用官方示例 etcd:image: bitnami/etcd:3.4.15restart: alwaysvolumes:- ./etcd_data:/bitnami/etcdenvironment:ALLOW_NONE_AUTHENTICATION: "yes"ETCD_ADVERTISE_CLIENT_URLS: "http://etcd:2379"ETCD_LISTEN_CLIENT_URLS: "http://0.0.0.0:2379…

史记-张良-留侯世家-8-上欲废太子;张良出谋划策;政治智慧

原文&#xff1a; 上欲废太子&#xff0c;立戚夫人子赵王如意。大臣多谏争&#xff0c;未能得坚决者也。吕后恐&#xff0c;不知所为。人或谓吕后曰&#xff1a;“留侯善画计策&#xff0c;上信用之。”吕后乃使建成侯吕泽劫留侯&#xff0c;曰&#xff1a;“君常为上谋臣&…

24届数字IC验证——SV+UVM基础知识汇总(九)

文章目录 前言57、module和program区别58、仿真调度区域59、fork-join、fork-join_none和fork-join_any的区别(经常问)60、D触发器输入高阻,输出是什么61、recovery time和removal time62、设置仿真退出时间62、$ time和$ realtime区别63、选择验证的原因(常问)64、验证工…

云仓酒庄广西发布会盛启:新老经销商欢聚南宁

原标题&#xff1a;云仓酒庄广西发布会盛启&#xff1a;新老经销商欢聚南宁&#xff0c;共襄精酿啤酒盛宴在夏日的热情与激情中&#xff0c;云仓广西发布会于今日在美丽的南宁盛大开幕。来自各地的经销商们齐聚一堂&#xff0c;共同见证了这一盛况。此次发布会不仅是一次产品的…

Python网络爬虫项目开发实战:如何解决验证码处理

注意:本文的下载教程,与以下文章的思路有相同点,也有不同点,最终目标只是让读者从多维度去熟练掌握本知识点。 下载教程:Python网络爬虫项目开发实战_验证码处理_编程案例解析实例详解课程教程.pdf 一、验证码处理的简介 在Python网络爬虫项目开发实战中,验证码处理是…

SpringBoot中的扩展点

ApplicationContextInitializer的initialize方法。 时机 : 所有的配置文件都已经加载&#xff0c;spring容器还没被刷新之前 准备阶段 this.prepareContext(context, environment, listeners, applicationArguments, printedBanner); 它允许开发人员在Spring应用上下文&…

2024年汉字小达人活动还有5个月开赛:来做18道历年选择题备考吧

现在距离2024年第11届汉字小达人比赛还有五个多月的时间&#xff0c;如何利用这段时间有条不紊地备考呢&#xff1f;我的建议是两手准备&#xff1a;①把小学1-5年级的语文课本上的知识点熟悉&#xff0c;重点是字、词、成语、古诗。阅读理解不需要。②把历年真题刷刷熟&#x…