CCF-CSP模擬試題 201409-1 相鄰數對 JAVA
阿新 • • 發佈:2018-12-15
問題描述
試題編號: | 201409-1 |
試題名稱: | 相鄰數對 |
時間限制: | 1.0s |
記憶體限制: | 256.0MB |
問題描述: |
問題描述 給定n個不同的整數,問這些數中有多少對整數,它們的值正好相差1。 輸入格式 輸入的第一行包含一個整數n,表示給定整數的個數。 輸出格式 輸出一個整數,表示值正好相差1的數對的個數。 樣例輸入 6 樣例輸出 3 樣例說明 值正好相差1的數對包括(2, 3), (6, 7), (7, 8)。 評測用例規模與約定 1<=n<=1000,給定的整數為不超過10000的非負整數。 |
答題欄
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner s = new Scanner(System.in); int N = s.nextInt(); int[] num = new int[N]; int i; //輸入N個數 for(i=0; i<N; i++) { num[i] = s.nextInt(); } new Main().Sort(num, N); int counter=0; for(i=0; i<N-1; i++) { if(num[i]+1==num[i+1]) {//判斷後一個數與前一個數相差 1 counter++; } } System.out.print(counter); } //插入排序 public void Sort(int[] a, int n) { int in, out; for(out=1; out<n; out++) { int temp = a[out]; in = out; while(in>0 && a[in-1] >= temp) { a[in] = a[in-1]; --in; } a[in] = temp; } } }