【程式設計測試題】頭條校招
題目描述
頭條的2017校招開始了!為了這次校招,我們組織了一個規模巨集大的出題團隊,每個出題人都出了一些有趣的題目,而我們現在想把這些題目組合成若干場考試出來,在選題之前,我們對題目進行了盲審,並定出了每道題的難度系統。一場考試包含3道開放性題目,假設他們的難度從小到大分別為a,b,c,我們希望這3道題能滿足下列條件:
a<=b<=c
b-a<=10
c-b<=10
所有出題人一共出了n道開放性題目。現在我們想把這n道題分佈到若干場考試中(1場或多場,每道題都必須使用且只能用一次),然而由於上述條件的限制,可能有一些考試沒法湊夠3道題,因此出題人就需要多出一些適當難度的題目來讓每場考試都達到要求,然而我們出題已經出得很累了,你能計算出我們最少還需要再出幾道題嗎?
輸入描述:
輸入的第一行包含一個整數n,表示目前已經出好的題目數量。 第二行給出每道題目的難度係數d1,d2,...,dn。 資料範圍 對於30%的資料,1 ≤ n,di ≤ 5; 對於100%的資料,1 ≤ n ≤ 10^5,1 ≤ di ≤ 100。 在樣例中,一種可行的方案是新增2個難度分別為20和50的題目,這樣可以組合成兩場考試:(20 20 23)和(35,40,50)。
輸出描述:
輸出只包括一行,即所求的答案。
#include<iostream>
#include<vector>
#include <algorithm>
using namespace std;
int main()
{
int n;
//int *a = new int[n];
vector<int> a;
int i, j;
int out=0;
cin >> n;
int aa;
for(i=0; i<n; ++i)
{
cin >> aa;
a.push_back(aa);
}
sort(a.begin(), a.end());
int num;
for(i=0; i<n; ++i)//從前往後遍歷
{
num=1;
if(i<n-2)
{
if(a[i+1]-a[i] <= 10)
{
num++;
if(a[i+2]-a[i+1] <= 10)
{
num++;
i+=2;
}
else
{
num++;
out++;
i++;
}
}
else if(a[i+1]-a[i] <= 20)
{
num+=2;
out++;
i++;
}
else
{
num+=2;
out+=2;
}
}
else if(i==n-2)//如果只剩下兩個元素
{
if(a[i+1]-a[i]<=20)
{
num+=2;
out++;
i++;
}
else
{
num+=2;
out+=4;
i++;
}
}
}
if(num!=3)//如果只剩下一個元素
out += (3-num);
cout << out << endl;
}
貪婪演算法,排序後有符合條件的就計數,不符合的再看加幾個符合。
相關文章
- (網易2018校招筆試)[程式設計題] 魔法幣筆試程式設計
- (網易2018校招筆試)[程式設計題] 相反數筆試程式設計
- (網易2018校招筆試)[程式設計題] 字串碎片筆試程式設計字串
- 程式設計師校招筆試經驗小分享程式設計師筆試
- (網易2018校招筆試)[程式設計題] 遊歷魔法王國筆試程式設計
- EMC校招筆試題目筆試
- 今日頭條程式設計題1 找"最大"點程式設計
- 2017年校招全國統一模擬筆試(第五場)程式設計題集合筆試程式設計
- 精研3道簡單的網易2018校招程式設計題程式設計
- 京東2018校招程式設計題解答(Java)|掘金技術徵文程式設計Java
- 【測繪程式設計試題集】 試題04 最短路徑計算程式設計
- 愛奇藝校招面試題面試題
- 1999年校招程式設計師的感慨程式設計師
- 【測繪程式設計試題集】 試題01 計程車軌跡資料計算程式設計
- 【測繪程式設計試題集】 試題02 矩陣卷積計算程式設計矩陣卷積
- 【程式設計測試題】遊戲任務標記程式設計遊戲
- [位元組跳動][社招 / 校招] 位元組急招測試 / 測試開發工程師,歡迎同學來投遞工程師
- 程式設計沒靈感?快來試試這10招程式設計
- Android校招面經乾貨分享(頭條、快手、小米、美團)|掘金技術徵文Android
- 程式設計師給測試人員的20條高頻回覆程式設計師
- 百度2015校招機器學習筆試題機器學習筆試
- 程式設計題:尋找木頭程式設計
- 【程式設計測試題】素數對、不要二、求和程式設計
- 【程式設計測試題】阿里巴巴2019年提前批程式設計題程式設計阿里
- 設計測試用例的四條原則
- 筆試題目——程式設計題筆試程式設計
- 【測繪程式設計試題集】 試題09 反距離加權插值程式設計
- java程式設計師最難面試之“今日頭條”Java程式設計師面試
- 2013搜狗校招研發類C/C++試題C++
- 【小米集團校園招聘】射頻測試工程師 (急招)工程師
- [小米集團校園招聘] 射頻測試工程師 (急招)工程師
- CCUT程式設計能力測試---前言程式設計
- 【測繪程式設計試題集】 試題06 軌跡資料壓縮演算法程式設計演算法
- 程式出錯後,程式設計師給測試人員的20條高頻回覆程式設計師
- 我的2019校招面經大全(包含BAT頭條網易等大廠面經)BAT
- 上海趣頭條招資深,高階golangGolang
- 小紅書2020校招資料分析筆試題卷一[題目整理]筆試
- 國外技術大牛通過12條測試讓你更好地程式設計程式設計