专栏首页Gaussic一个关于Java输入输出优化的坑 原

一个关于Java输入输出优化的坑 原

在用Scanner输入大量数据的时候,会出现时间巨慢的问题,今天网上查到了方法,原来java的输入输出是有优化方法的。

原始代码如下:

import java.io.BufferedInputStream;import java.util.Scanner;
/**
 * Created by dzkan on 2015/9/10.
 */
public class Main {

    public static void main(String[] args) {
        Scanner in = new Scanner(new BufferedInputStream(System.in));
        while(in.hasNext()) {
            int n = in.nextInt();
            if(n == 0) break;
            int a = in.nextInt();
            n--;
            while(n-- > 0) {
                a ^= in.nextInt();
            }
            System.out.println(a);
        }
    }
}

这段代码因为用Scanner,在输入n达到1000000,超时了,下面是优化方法:

import java.io.*;

/**
 * Created by dzkan on 2015/9/10.
 */
public class Main {

    public static void main(String[] args) throws Exception {
        StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
        while (in.nextToken() != StreamTokenizer.TT_EOF) {
            int n = (int) in.nval;
            if (n == 0) break;
            int a = 0;
            while (n-- > 0) {
                in.nextToken();
                a ^= (int) in.nval;
            }
            System.out.println(a);
        }
    }
}

这样处理输入就很快了

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 基于特定语料库的TF-IDF关键词提取实现 原

    本文旨在对特定的语料库生成各词的逆文档频率。然后根据TF-IDF算法进行关键词提取。

    Gaussic
  • CUDA 计时器 原

    Gaussic
  • Machine Learning笔记(三) 多变量线性回归

    这样只有单一特征的数据,往往难以帮助我们准确的预测房价走势。因此,考虑采集多个特征的数据值,往往能提升预测效果。例如,选取如下4个特征作为输入值时的情况:

    Gaussic
  • 1000 Genome Project

    1000 Genome Project 的目标是发现在人群中频率大于1%的变异位点,对来自不同人群的大量样本进行测序,识别到了许多的变异位点,为人类遗传变异的研...

    生信修炼手册
  • C# 从1到Core--委托与事件

      委托与事件在C#1.0的时候就有了,随着C#版本的不断更新,有些写法和功能也在不断改变。本文温故一下这些改变,以及在NET Core中关于事件的一点改变。

    FlyLolo
  • 推荐算法——非负矩阵分解(NMF)

    一、矩阵分解回顾 image.png 二、非负矩阵分解 2.1、非负矩阵分解的形式化定义 image.png 2.2、损失函数 image.png 2.3、优化...

    zhaozhiyong
  • Data exchange of settype COMM_PRFREEATTR

    (1) in ERP, use tcode SM30, view name: MATERIALID, configure an external long ma...

    Jerry Wang
  • Data exchange of settype COMM_PRFREEATTR

    (1) in ERP, use tcode SM30, view name: MATERIALID, configure an external long ma...

    Jerry Wang
  • Product Master data model harmonization guiding principle

    There are common attributes between Product model in CRM and Material model in S...

    Jerry Wang
  • Python高效编程技巧

    首先获取字典的 keys,然后取每轮比赛 key 的交集。由于比赛轮次数是不定的,所以使用 map 来批量操作

    Python编程与实战

扫码关注云+社区

领取腾讯云代金券