1. 程式人生 > >CCF-CSP模擬試題 201409-1 相鄰數對 JAVA

CCF-CSP模擬試題 201409-1 相鄰數對 JAVA

問題描述

試題編號: 201409-1
試題名稱: 相鄰數對
時間限制: 1.0s
記憶體限制: 256.0MB
問題描述:

問題描述

  給定n個不同的整數,問這些數中有多少對整數,它們的值正好相差1。

輸入格式

  輸入的第一行包含一個整數n,表示給定整數的個數。
  第二行包含所給定的n個整數。

輸出格式

  輸出一個整數,表示值正好相差1的數對的個數。

樣例輸入

6
10 2 6 3 7 8

樣例輸出

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;
		}
	}
	

}