最近用Java刷PAT算法,经常遇到超时,一方面时算法不够简洁吧,另外发现输入读取的时间差也挺大。之前都是采取Scanner,后面改用BufferedReader
Scanner sc=new Scanner(System.in);
int p=sc.nextInt();
Scanner的优点在于可以读取成字符,int,double等形式
BufferedReader br = new BufferedReader(
new InputStreamReader( System.in );
String s= br.readLine();
BufferedReander就只能读取一个字符(br.read())或者一行( br.readLine()),那么针对PAT里面经常一行多个数字怎么提取出来呢?
思路就是,将一行先提取成字符串,然后将字符串分离成多个字符串数组,分离的区分就是那个空格,再转换成需要的形式
String[] str=s.split(" ");
int p=Integer.parseInt(str[0]);