栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

java算法竞赛:快速读入输出

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java算法竞赛:快速读入输出

我们在使用java写算法题时,常常会因为超时而苦恼,明明是和C++一样的思路,甚至代码实现都极为相似,但是却比它慢上一大截,这时候不妨试试IO流读入输出数据,提升速度。

参考文章

Java写算法题中那些影响你效率的细节(关于暴力破解算法题的细节处理)
Java在算法竞赛中的一些技巧
Java算法竞赛常用模板

我的模板
package 算法竞赛;

import java.io.*;

public class Interface1{
    static BufferedReader ins = new BufferedReader(new InputStreamReader(System.in));
    // ins 用于读入字符串这样的数据
    static StreamTokenizer in = new StreamTokenizer(ins);
    // in 用于读入int、long、double等基本数据类型
    static PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));
    // out 用于输出,代替以前的System.out.println();

    public static void main(String[] args) throws IOException {
        int a = 0;                          // 不要忘记在main函数上抛异常
        int b = 0;
        in.nextToken();                     // 读入数据时,记得每一次读取,都要先in.nextToken()
        a = (int)in.nval;                   // 因为in.nval接收的是double类型,所以要强制类型转换
        in.nextToken();
        b = (int)in.nval;
        out.println("a + b = "+(a+b));

        String s = ins.readLine();
        out.println(s);
        String s1 = ins.readLine();
        out.println(s1);
        out.println("hello world!");
        out.close();                        // out.close()一定不能忘!否则不输出数据
    }
}
测试

大家可以找个刷题网站测试,这里以洛谷为例:P1001 A+B Problem
用平常的Scanner读入,和用我这套模板读入来测试二者时间相差多少。

这里给出我的测试代码

import java.io.*;

public class Main{
    static BufferedReader ins = new BufferedReader(new InputStreamReader(System.in));
    static StreamTokenizer in = new StreamTokenizer(ins);
    static PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));

    public static void main(String[] args) throws IOException {
        in.nextToken();
        int a = (int)in.nval;
        in.nextToken();
        int b = (int)in.nval;
        out.print(a+b);
        out.close();
    }
}

用时:207ms

如有谬误,请务必告知,以免误导他人
如果各位看官觉得写得不错,对你有帮助,能不能给个赞啊,这是对我最大的鼓励!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/509783.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号