题外话
觉得这个内容还是很关键的,过来写一下吧
本次内容有点抽象大家试着听一下
正题
做过算法题的人都知道,无论是在力扣还是牛客或者别的网站刷题,很多情况下都会遇到输入输出的情况,当我们用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超时情况,其实不需要使用这个
但是一旦出现因为以上情况超时一定要使用上述代码
大家尽量去理解,实在不行就硬背下来吧
小结
千锤百炼算法系列持续更新中...
喜欢的家人们麻烦给个三连(点赞关注收藏!!!)