1. 程式人生 > >2019網易校招內推筆試題--俄羅斯方塊得分

2019網易校招內推筆試題--俄羅斯方塊得分

題目描述:
自定義俄羅斯方塊列數,每次俄羅斯方塊下落個數為1*1,當一行都落滿俄羅斯方塊時,得分+1。現在小明玩到m個俄羅斯方塊,求此時的分數。

輸入:

第一行: 列數, 俄羅斯方塊個數m

第二行 :a(1) a(2) a(3) …a(i)…a(m) 表示第i個俄羅斯方塊落在第a(i)行

輸出:
分數

示例:
輸入
3 9
1 1 2 2 2 3 1 2 3

輸出:2

分析:從題目可知,a[i]的取值與列數有關,列數為3,則a[i]的取值只能為1,2,3,一行落滿得一分,求總得分,即求有多少個最小數目的1,2,3組合。若1的個數為3,2的個數為4,3的個數為2,要求每行都有1,2,3才能得一分,因此,總分為2。
所以,用一個長度為n的陣列儲存1,2,3,分別出現的次數,然後取最小值,即是最後的得分。

參考程式碼:

//m:列數;n:俄羅斯方塊的個數;
//a[]:俄羅斯方塊落在第幾列
int Score(int m, int n, int a[])
{
    int score = 0;
    vector<int> tmp(m, 0);
    for(int i=0; i<n; i++)
    {
        tmp[a[i]-1]++;
    }
    score = *min_element(tmp.begin(), tmp.end());
    return score;
}

這是筆試結束後寫的程式碼,其實思路理清了,實現起來真的很容易。可一到真正的筆試,腦子就是一團漿糊,ε(┬┬﹏┬┬)3,其實說到底還是基礎不紮實,平時練得又不多。
如下,是筆試時給出的程式碼,雖然也100%通過了,但是……說多了都是淚:

#define max 1000

//n列數,m俄羅斯方塊個數
int getScore(int n, int m, int a[])
{
    if(n <= 0 || m<=0 || a == NULL)
        return 0;
    stack<int> col[max];
    int tmp[max] = {0};

    for(int i=0; i<m; i++)
    {
        int x = a[i];
        col[x-1].push(a[i]);
    }

    int min = col[0].size();
    for
(int j=1; j<n; j++) { if(min > col[j].size()) min = col[j].size(); } return min; } int main() { int n, m; cin>>n>>m; int *x = (int*)malloc(sizeof(int)*m); for(int i=0; i<m; i++) { cin>>x[i]; } int s = getScore(n,m,x); cout<<s<<endl; free(x); return 0; }

相關推薦

2019試題--俄羅斯方塊得分

題目描述: 自定義俄羅斯方塊列數,每次俄羅斯方塊下落個數為1*1,當一行都落滿俄羅斯方塊時,得分+1。現在小明玩到m個俄羅斯方塊,求此時的分數。 輸入: 第一行: 列數, 俄羅斯方塊個數m 第二行 :a(1) a(2) a(3) …a(i)…a(m) 表

2017試題

本人筆試的計算機視覺方向,程式設計題和其他研發崗位類似。 歡迎小夥伴們一起討論出正確答案。 共20個選擇題,3個程式設計題,1個簡答題 一.選擇題 1.Linux中,提供TCP/IP包過濾功能的軟體叫什麼? A.iptables B.r

2018試題——獨立的小

【題目】 小易為了向他的父母表現他已經長大獨立了,他決定搬出去自己居住一段時間。一個人生活增加了許多花費: 小易每天必須吃一個水果並且需要每天支付x元的房屋租金。當前小易手中已經有f個水果和d元錢,小

2018-小喜歡的數列

題目描述: 小易非常喜歡擁有以下性質的數列: 1、數列的長度為n 2、數列中的每個數都在1到k之間(包括1和k) 3、對於位置相鄰的兩個數A和B(A在B前),都滿足(A <= B)或(A mod B != 0)(滿足其一即可) 例如,當n = 4

2018筆試-獨立的小(python)

題目描述: 小易為了向他的父母表現他已經長大獨立了,他決定搬出去自己居住一段時間。一個人生活增加了許多花費: 小易每天必須吃一個水果並且需要每天支付x元的房屋租金。當前小易手中已經有f個水果和d元錢,小易也能去商店購買一些水果,商店每個水果售賣p元。小易為了表

2019筆試 程式設計題:俄羅斯方塊

題目:俄羅斯方塊 小易有一個古老的遊戲機,上面有著經典的遊戲俄羅斯方塊。因為它比較古老,所以規則和一般的俄羅斯方塊不同。 熒幕上一共有 n 列,每次都會有一個 1 x 1 的方塊隨機落下,在同一列中,後落下的方塊會疊在先前的方塊之上,當一整行方塊都被

前端筆試之2019

分布 方法 global 單選 全局 因此 上下 cal function 今天剛做完網易校招的前端筆試題,總體難度不算很難,有送分題也有拉分題,不過大公司的筆試算法題占比最大,整套筆試題的題型與分值分布分別是:單選題40分共20題、編程題60分共3題、問答題20分共2題,

【線上試題解題報告系列】2017筆試之程式設計題【持續更新】

網易今年把內推筆試放在牛客網上辦,然後出了一批程式設計題。 題目在: 一共18個,好多(不同崗位抽3個不同的題的樣子)…… 慢慢寫吧,做一題寫一題。 以下題解將假定讀者有下列知識,對下面所列舉的細節不再贅述。 (如果有必要對此進行教學的,請站內信我) C/C++的基本

2016筆試程式設計題

牛牛想嘗試一些新的料理,每個料理需要一些不同的材料,問完成所有的料理需要準備多少種不同的材料。 輸入描述: 每個輸入包含 1 個測試用例。每個測試用例的第 i 行,表示完成第 i 件料理需要哪些材料,各個材料用空格隔開,輸入只包含大寫英文字母和空格,輸入檔案不超過 50

喜歡的數列(18

小易非常喜歡擁有以下性質的數列: 1、數列的長度為n 2、數列中的每個數都在1到k之間(包括1和k) 3、對於位置相鄰的兩個數A和B(A在B前),都滿足(A <= B)或(A mod B != 0)(滿足其一即可) 例如,當n = 4, k = 7 那麼{1,7,7,2

2019拼多多面試總結

感想 我想這次應該是我憑實力得到的第一個比較滿意的offer了,沒想到是拼多多給的offer,我也感謝面試我的那些面試官,沒有為難我。 過程 拼多多 一面 1.自我介紹 2.樹模型,GBDT的原理,xgboost的原理 3.樹的特徵選擇是怎麼做的? 4.樹的正則項有哪

2017年網際網路試題-數字遊戲

原題如下: 小易邀請你玩一個數字遊戲,小易給你一系列的整數。你們倆使用這些整數玩遊戲。每次小易會任意說一個數字出來,然後你需要從這一系列數字中選取一部分出來讓它們的和等於小易所說的數字。 例如: 如果{2,1,2,7}是你有的一系列數,小易說的數字是11.你可

試題】拼多多2018程式設計

2、大資料相乘 問題描述 有兩個用字串表示的非常大的大整數,算出他們的乘積,也是用字串表示。不能用系統自帶的大整數型別。 輸入描述:  空格分隔的兩個字串,代表輸入的兩個大整數 輸出描述:  輸入的乘積,用字串表 問題分析 只要把加法換成乘法就好,半夜

2017試題

有 n 個學生站成一排,每個學生有一個能力值,牛牛想從這 n 個學生中按照順序選取 k 名學生,要求相鄰兩個學生的位置編號的差不超過 d,使得這 k 個學生的能力值的乘積最大,你能返回最大的乘積嗎?  輸入描述: 每個輸入包含 1 個測試用例。每個測試資料的第一行包含一個整

記Java阿里電話一面(2019

2018年7月18日,晴,11號投了阿里,16號收到內推流程,沒想到很快電話一面就來了。。。猝不及防啊。瞬間轉陰。還是告訴面試官10分鐘之後可以(我哪來的勇氣,我還沒準備好啊~!) 上來首先自我介紹 因為自我介紹的較少(不想挖坑啊)然後沒有閒聊的過程,直接開始問及java

2018試題——web前端開發

週六同學參加網易校招筆試,她投的前端開發,我也順便看了兩眼,題目並不算很難。第二道程式設計還和京東校招筆試題一樣(雖然我沒做出來....)。 我只記得第一題... 然而當時並沒有幫我同學調出來.....但是剛才只用了十多分鐘就做完了...... 所以其實校招筆試題並不難 題

2019阿里--菜鳥測試崗電話一面總結

8.2號這天中午正好睡覺起床比較晚,還在床上的時候就接到了杭州的電話,心理預期應該就是菜鳥的,立馬一機靈就做了起來,開始面試。(菜鳥測試電面:8.2號3.20分面試12分鐘) 1,都做過哪些專案,簡單介紹下 2,運用的什麼語言 3,對於多程序和多執行緒的瞭解 4,對於C語言

2017試題

題目:有n個奶牛排成一排,每個奶牛擁有一定的蘋果數ai,每次操作可以從任一隻奶牛手中僅且拿2個兩個蘋果給另外一隻奶牛,輸出至少要操作多少次才能使得所有奶牛的蘋果數相等,如果不可能達到相等狀態,則輸出-1. import java.util.*; public

2017網際網路試題(獎學金問題)

//來源:網易 //獎學金 //題目描述:小v今年有n門課,每門都有考試,為了拿到獎學金,小v必須讓自己的平均成績至少為avg。 // 每門課由平時成績和考試成績組成,滿分為r。現在他知道每門課的平時成績為ai , // 若想讓這

2017試題---幸運的袋子

一個袋子裡面有n個球,每個球上面都有一個號碼(擁有相同號碼的球是無區別的)。如果一個袋子是幸運的當且僅當所有球的號碼的和大於所有球的號碼的積。 例如:如果袋子裡面的球的號碼是{1, 1, 2, 3},這個袋子就是幸運的,因為1 + 1 + 2 + 3 >