1. 程式人生 > >[騰訊]有趣的數字

[騰訊]有趣的數字

小Q今天在上廁所時想到了這個問題:有n個數,兩兩組成二元組,相差最小的有多少對呢?相差最大呢?

輸入描述:

輸入包含多組測試資料。 對於每組測試資料: N - 本組測試資料有n個數 a1,a2...an - 需要計算的資料 保證: 1<=N<=100000,0<=ai<=INT_MAX.

輸出描述:

對於每組資料,輸出兩個數,第一個數表示差最小的對數,第二個數表示差最大的對數。

輸入例子1:

6
45 12 45 32 5 6

輸出例子1:

1 2
#include <stdio.h>
#include <string>
#include <iostream>

using namespace std;
//氣泡排序
int main() {
    string str;
    while (cin>>str) {
        int len = str.size();
        for (int i = len - 1; i >= 0; --i) {
            if (str[i] >= 'A' && str[i] <= 'Z') {
                char ch = str[i];
                int j = i + 1;
                while (j<len && str[j] >='a' && str[j] <= 'z') {
                    str[j - 1] = str[j];
                    ++j;
                }
                str[j - 1] = ch;
            }
        }
        printf("%s\n",str.c_str());
    }
    return 0;
}