【程式設計測試題】頭條校招
題目描述
頭條的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;
}
貪婪演算法,排序後有符合條件的就計數,不符合的再看加幾個符合。
相關文章
- 【今日頭條】校招內推碼
- 程式設計師校招筆試經驗小分享程式設計師筆試
- 今日頭條程式設計題1 找"最大"點程式設計
- 1999年校招程式設計師的感慨程式設計師
- 精研3道簡單的網易2018校招程式設計題程式設計
- 2018頭條春招前端實習生面試題目總結前端面試題
- java程式設計師最難面試之“今日頭條”Java程式設計師面試
- 2019校招Android面試題解1.0Android面試題
- Java秋招校招面試Java面試
- 【程式設計測試題】阿里巴巴2019年提前批程式設計題程式設計阿里
- 【測繪程式設計試題集】 試題04 最短路徑計算程式設計
- 頭條面試歸來,有些話想和Java程式設計師說!面試Java程式設計師
- 【測繪程式設計試題集】 試題02 矩陣卷積計算程式設計矩陣卷積
- 程式設計題:尋找木頭程式設計
- 程式設計沒靈感?快來試試這10招程式設計
- 【測繪程式設計試題集】 試題01 計程車軌跡資料計算程式設計
- [位元組跳動][社招 / 校招] 位元組急招測試 / 測試開發工程師,歡迎同學來投遞工程師
- 【程式設計測試題】遊戲任務標記程式設計遊戲
- 【程式設計測試題】素數對、不要二、求和程式設計
- 最近校招面試記錄面試
- 今日頭條實習面試題解析面試題
- 2019最新百度、頭條、小米、360、網易、等公司 Android 社招面試題目Android面試題
- 我的2019校招面經大全(包含BAT頭條網易等大廠面經)BAT
- 【測繪程式設計試題集】 試題09 反距離加權插值程式設計
- 2018 美團、騰訊、頭條、蔚來 社招面試隨談面試
- 有趣的前端程式設計題:攜程 2018 春招前端程式設計
- [小米集團校園招聘] 射頻測試工程師 (急招)工程師
- 【小米集團校園招聘】射頻測試工程師 (急招)工程師
- CCUT程式設計能力測試---前言程式設計
- 校招前端面試知識大全前端面試
- 招個程式設計師,難?程式設計師
- 新手程式設計師該如何準備面試?【備戰春招/秋招系列】程式設計師面試
- 「前端面試題系列1」今日頭條 面試題和思路解析前端面試題
- 2018名企校招筆試真題精選技術篇筆試
- 上海趣頭條招資深,高階golangGolang
- 程式設計師進階之路之面試題與筆試題集錦(三)線上程式設計題程式設計師面試題筆試
- 【測繪程式設計試題集】 試題06 軌跡資料壓縮演算法程式設計演算法
- 小紅書2020校招資料分析筆試題卷一[題目整理]筆試