騰訊2017暑期實習生程式設計題之有趣的數字

2022-06-04 02:18:11 字數 954 閱讀 5299

問題描述:

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

輸入描述:

輸入包含多組測試資料。

對於每組測試資料:

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

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

保證:1<=n<=100000,0<=ai<=int_max.

輸出描述:

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

解決思路:可以將輸入的資料進行排序,差最大的數一定是最大值減去最小值,若max!=0,那麼差最大對數為最大值的個數乘以最小值得個數,

差最小的數為相鄰差值的最小值,分等於0和不等於0來討論。

using

namespace

std;

intmain()

sort(p,p+n);

//求取差最小的對數,肯定是相鄰相減得到

int max=p[1]-p[0],min=p[1]-p[0

];

int maxnumber=0,minnumber=0

;

for(int i=1;i)

if(min==0

) }

else

}//求取差最大的對數,,最大值數乘以最小值數

max=p[n-1]-p[0

];

int a=0,b=0

;

for(int i=0;i)

if(max==0

) maxnumber=n*(n-1)/2

;

else

maxnumber=a*b;

cout

<'

'delete p;

}}

騰訊2017暑期實習生程式設計題

刷題 pragma warning disable 4996 遮蔽警告 構造回文 題目描述 給定乙個字串s,你可以從中刪除一些字元,使得剩下的串是乙個回文串。如何刪除才能使得回文串最長呢?輸出需要刪除的字元個數。思路 其實就是,原字串翻轉之後的字串跟原字串的最長公共子串行 那麼利用動態規劃的最長公共...

騰訊2017暑期實習生程式設計題

構造回文串 給定乙個字串s,你可以從中刪除一些字元,使得剩下的串是乙個回文串。如何刪除才能使得回文串最長呢?輸出需要刪除的字元個數。輸入描述 輸入資料有多組,每組包含乙個字串s,且保證 1 s.length 1000.輸出描述 對於每組資料,輸出乙個整數,代表最少需要刪除的字元個數。示例1 輸入 a...

騰訊2017暑期實習生程式設計題

程式設計題 構造回文 時間限制 1秒 空間限制 32768k 給定乙個字串s,你可以從中刪除一些字元,使得剩下的串是乙個回文串。如何刪除才能使得回文串最長呢?輸出需要刪除的字元個數。輸入描述 輸入資料有多組,每組包含乙個字串s,且保證 1 s.length 1000.輸出描述 對於每組資料,輸出乙個...