为什么bufferedReader在java中比Scanner类更有效?
看看下面的问题,不管您为此编写解决方案的效率有多高,使用Scanner类都会导致超时 问题: 您已经给出了一个数组,其中包含元素。现在,对于给定的查询,您已经提供了一个整数,您必须找到最小和,它是数组中所有元素的总和,这些元素的值小于查询中提供的给定整数 输入格式: 第一行:表示数组元素数量的整数。 第二行:表示数组元素的空格分隔整数。 第三行:表示查询数的整数。 对于每个查询:新行包含一个整数 输出格式: 对于每个查询,在新行中打印一个最小和的整数为什么bufferedReader在java中比Scanner类更有效?,java,java.util.scanner,bufferedreader,binary-search,bufferedwriter,Java,Java.util.scanner,Bufferedreader,Binary Search,Bufferedwriter,看看下面的问题,不管您为此编写解决方案的效率有多高,使用Scanner类都会导致超时 问题: 您已经给出了一个数组,其中包含元素。现在,对于给定的查询,您已经提供了一个整数,您必须找到最小和,它是数组中所有元素的总和,这些元素的值小于查询中提供的给定整数 输入格式: 第一行:表示数组元素数量的整数。 第二行:表示数组元素的空格分隔整数。 第三行:表示查询数的整数。 对于每个查询:新行包含一个整数 输出格式: 对于每个查询,在新行中打印一个最小和的整数 只需使用缓冲读取器而不是扫描仪类和缓冲写入器
只需使用
缓冲读取器
而不是扫描仪类
和缓冲写入器
而不是System.out.print
,即可使此代码的速度提高一倍,且所有测试用例都能轻松通过,这背后的原因是什么?BufferedReader比Scanner快得多,因为它的缓冲内存比Scanner大。你可以看出两者之间的区别