騰訊筆試程式設計題 小Q上廁所

2021-07-22 15:33:05 字數 1109 閱讀 6247

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

輸入
輸入包含多組測試資料。

對於每組測試資料:

n - 本組測試資料有n個數

a1,a2…an - 需要計算的資料

保證:

1<=n<=100000,0<=ai<=int_max.

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

輸入例子:
6

45 12 45 32 5 6

輸出例子:
1 2

先對給定的陣列進行排序,最大差的對數就是陣列最小數的個數乘最大數的個數。最小差的產生對於有序的陣列肯定是相鄰的數產生的,計算出最小差為多少;如果為0,則是相等的數產生了最小差,此時對與陣列的某個數a,計算他前面有多少個和他相等。如果不為0,迴圈計算出相鄰兩個數的差是否為最小差,對應的對數+1;對於為什麼是這樣,自己寫下就知道了。

#include 

#include

#include

using

namespace

std;

int find_num(int* a,int n,int val)

}return k;

}int main(void)

sort(a,a+n);

int l,m,r;

int minnum,maxnum;

minnum = maxnum = 0;

l=find_num(a,n,a[0]);

r=find_num(a,n,a[n-1]);

maxnum = l*r;

int mindiv = a[1]-a[0];

for(int i=2;iif(a[i]-a[i-1]1];}}

if(mindiv == 0)}}

else

}cout

<" "

0;}

騰訊筆試程式設計題

題目需求 對於乙個十進位制的正整數,定義f n 為其各位數字的平方和,如 f 13 1 2 3 2 10 f 207 2 2 0 2 7 2 53 下面給出三個正整數k,a,b,你需要計算有多少個正整數n滿足a n b,且k f n n 輸入 第一行包含3個正整數k,a,b,k 1,a,b 10 1...

騰訊筆試程式設計題,貪吃的小Q(二分查詢)

小q的父母要出差n天,走之前給小q留下了m塊巧克力。小q決定每天吃的巧克力數量不少於前一天吃的一半,但是他又不想在父母回來之前的某一天沒有巧克力吃,請問他第一天最多能吃多少塊巧克力。輸入描述 每個輸入包含乙個測試用例。每個測試用例的第一行包含兩個正整數,表示父母出差的天數n n 50000 和巧克力...

騰訊2016秋招筆試程式設計題

有乙個由很多木棒構成的集合,每個木棒有對應的長度,請問能否用集合中的這些木棒以某個順序首尾相連構成乙個面積大於 0 的簡單多邊形且所有木棒都要用上,簡單多邊形即不會自交的多邊形。初始集合是空的,有兩種操作,要麼給集合新增乙個長度為 l 的木棒,要麼刪去集合中已經有的某個木棒。每次操作結束後你都需要告...