无论是各大公司的网测题,还是OJ平台上的算法题,几乎都是需要从 stdin 中读入数据再从 stdout 中输出数据,除非你是刷LeetCode(LeetCode刷题最大的好处就是免除了输入输出数据,节约了敲代码的时间),那么,如何优雅地用各类编程语言读入数据呢??

  先从可编译的伪代码 Python3 开始啦,

# 读入一个整数
N = int(input())
# 读入多个整数,每个整数用空格分开,这样的情况用 map 函数是最方便的
N, M = map(int, input().split())
# 读入一行数字,第一个数字是数组的长度,剩下是一个数组;用序列解包接收数组
N, *nums = map(int, input().split())    # nums 此时是一个列表

# 读入一行数组
nums = list(map(int, input().split())
nums = [int(i) for i in input().split()]    
# 这两行效果一样,但你一眼就能看出上面那行更短

Java

import java.util.Scanner;

Scanner in = new Scanner(System.in);
int N = in.nextInt();    // 读入一个整数