小q今天在上廁所時想到了這個問題:有n個數,兩兩組成二元組,差最小的有多少對呢?差最大呢?
輸入描述:
輸入包含多組測試資料。
對於每組測試資料:
n - 本組測試資料有n個數
a1,a2...an - 需要計算的資料
保證:1<=n<=100000,0<=ai<=int_max.
輸出描述:
對於每組資料,輸出兩個數,第乙個數表示差最小的對數,第二個數表示差最大的對數。
輸入例子1:
645 12 45 32 5 6
輸出例子1:
1 2
這題需要處理的細節很多,比如,最大數裡面,如何計算組合
最小的對數裡面,如何計算
幾個特例對了,很可能就對了 4
2 2 2 2 ->6 6 5
1 1 2 3 3->2 4
#include#include #include#include #includeusing namespace std;
#define int_max 2147483647
int main()
}for(long i = 0;i < n;i++)
}if(cha_tail == n)//全部資料一致
max_cha = n*(n-1)/2;
else
max_cha = cha_head*cha_tail;
//最小
long min_cha = 0;
long min = int_max;
long lianxu = 1;
for(long i =0;i < n;i ++)
lianxu = 1;
}else if((a[i] - a[i-1]) == min)
min_cha ++;
else if((a[i] - a[i-1]) < min)
}} if(lianxu > 1)
}cout<
騰訊2017暑期實習生筆試題 有趣數字
這個題意思很簡單吧,給出很多數,找出 二元組 裡面差最小的和差最大的個數 兩個數的差事大的減去小的,也就是絕對值的意思 說實話,這個題的處理確實很難把握。我的解題思路是 先將這個陣列排序,然後就很容易計算出差最大的二元組的個數,接下來就是計算最小二元組的個數。我寫的 會剛開始的時候跳過對開始部分的兩...
騰訊歷屆筆試題(2)
小q十分富有,擁有非常多的硬幣,小q擁有的硬幣是有規律的,對於所有的非負整數k,小q恰好各有兩個面值為2 k的硬幣,所以小q擁有的硬幣就是1,1,2,2,4,4,8,8,小q有一天去商店購買東西需要支付n元錢,小q想知道有多少種方案從他擁有的硬幣中選取一些拼湊起來恰好是n元 如果兩種方案某個面值的硬...
有趣的筆試題
1.假如你有一塊金條,要乙個人為你工作七天,你可以將金條割兩次,並且每天付一次工錢,這時你該怎麼割這金條才能每天都發工資給這個工人?1 7 2 7 4 7各為一塊就可以了 第一天給1 7 第二天給2 7,拿回 1 7 第三天給1 7 第四天給4 7,拿回1 7和2 7 第五天給1 7 第六天給2 7...