騰訊筆試題 2 有趣的數字

2021-08-08 03:51:38 字數 980 閱讀 8838

小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...