這個題意思很簡單吧,給出很多數,找出「二元組」裡面差最小的和差最大的個數(兩個數的差事大的減去小的,也就是絕對值的意思)。說實話,這個題的處理確實很難把握。
我的解題思路是:先將這個陣列排序,然後就很容易計算出差最大的二元組的個數,接下來就是計算最小二元組的個數。
我寫的**會剛開始的時候跳過對開始部分的兩個4的統計,最小值跟給出的值總是想差一點點,最後發現問題是出在兩次最小差改變的時候,下面給出**,供參考一下。
#include #include #include using namespace std;
void solution(vector& v)
else if (sz == 1)
else
while (v[j] == v[j - 1] && j > 0)
maxnum = (i + 1)*(sz - j); //差最大的數
min = v[sz - 1] - v[0] + 1;
int flag = 0;
for (int k = 0; k < sz - 1; ++k)
}else if (v[k + 1] - v[k] == min)
if (min == 0)
else
}else
}} }
cout << minnum << " " << maxnum << endl;
}int main()
solution(arr);
} return 0;
}
2017騰訊校招暑期實習生筆試題3
小q今天在上廁所時想到了這個問題 有n個數,兩兩組成二元組,差最小的有多少對呢?差最大呢?輸入包含多組測試資料。小q今天在上廁所時想到了這個問題 有n個數,兩兩組成二元組,差最小的有多少對呢?差最大呢?輸入描述 輸入包含多組測試資料。對於每組測試資料 n 本組測試資料有n個數 a1,a2 an 需要...
騰訊2017暑期實習生筆試題解題答案彙總
給定乙個字串s,你可以從中刪除一些字元,使得剩下的串是乙個回文串。如何刪除才能使得回文串最長呢?輸出需要刪除的字元個數 輸入描述 輸入資料有多組,每組包含乙個字串s,且保證 1 s.length 1000.輸出描述 對於每組資料,輸出乙個整數,代表最少需要刪除的字元個數。輸入例子 abcda goo...
構造回文 2017騰訊暑期實習生
題目描述 給定乙個字串s,你可以從中刪除一些字元,使得剩下的串是乙個回文串。如何刪除才能使得回文串最長呢?輸出需要刪除的字元個數。輸入描述 輸入資料有多組,每組包含乙個字串s,且保證 1 s.length 1000.輸出描述 對於每組資料,輸出乙個整數,代表最少需要刪除的字元個數。示例1 輸入 ab...