java 读写挂

来源:互联网 发布:xin域名是什么意思 编辑:程序博客网 时间:2024/05/17 06:38

直接上代码

import java.io.IOException;import java.io.InputStream;import java.io.PrintWriter;import java.util.Arrays;import java.util.InputMismatchException;import java.util.Random;public class A {public static void main(String[] args) {//Scanner scan = new Scanner(System.in);InputReader in = new InputReader(System.in);PrintWriter out = new PrintWriter(System.out);int n = in.nextInt();int[] a = new int[n];for(int i=0; i<n; ++i) {a[i] = in.nextInt();}Random random = new Random();for(int i = n-1; i >= 1; --i) {int x = random.nextInt(n);int temp = a[x];a[x] = a[i];a[i] = temp;}Arrays.sort(a);int min = Integer.MAX_VALUE;int cnt = 0;for(int i=0; i<n-1; ++i) {int diff = Math.abs(a[i] - a[i+1]);if(diff < min) {min = diff;cnt = 1;} else if(diff == min) {cnt++;}}System.out.println(min + " " + cnt);out.close();//scan.close();}}class InputReader {private final InputStream stream;private final byte[] buf = new byte[8192];private int curChar, snumChars;public InputReader(InputStream st) {this.stream = st;}public int read() {if (snumChars == -1)throw new InputMismatchException();if (curChar >= snumChars) {curChar = 0;try {snumChars = stream.read(buf);} catch (IOException e) {throw new InputMismatchException();}if (snumChars <= 0)return -1;}return buf[curChar++];}public int nextInt() {int c = read();while (isSpaceChar(c)) {c = read();}int sgn = 1;if (c == '-') {sgn = -1;c = read();}int res = 0;do {res *= 10;res += c - '0';c = read();} while (!isSpaceChar(c));return res * sgn;}public long nextLong() {int c = read();while (isSpaceChar(c)) {c = read();}int sgn = 1;if (c == '-') {sgn = -1;c = read();}long res = 0;do {res *= 10;res += c - '0';c = read();} while (!isSpaceChar(c));return res * sgn;}public int[] nextIntArray(int n) {int a[] = new int[n];for (int i = 0; i < n; i++) {a[i] = nextInt();}return a;}public String readString() {int c = read();while (isSpaceChar(c)) {c = read();}StringBuilder res = new StringBuilder();do {res.appendCodePoint(c);c = read();} while (!isSpaceChar(c));return res.toString();}public String nextLine() {int c = read();while (isSpaceChar(c))c = read();StringBuilder res = new StringBuilder();do {res.appendCodePoint(c);c = read();} while (!isEndOfLine(c));return res.toString();}public boolean isSpaceChar(int c) {return c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == -1;}private boolean isEndOfLine(int c) {return c == '\n' || c == '\r' || c == -1;}}

原创粉丝点击