網易2018校園招聘程式設計題真題集合 (部分)

2021-08-09 15:10:34 字數 1833 閱讀 9122

第一題:

小易準備去魔法王國採購魔法神器,購買魔法神器需要使用魔法幣,但是小易現在一枚魔法幣都沒有,但是小易有兩台魔法機器可以通過投入x(x可以為0)個魔法幣產生更多的魔法幣。

魔法機器1:如果投入x個魔法幣,魔法機器會將其變為2x+1個魔法幣

魔法機器2:如果投入x個魔法幣,魔法機器會將其變為2x+2個魔法幣

小易採購魔法神器總共需要n個魔法幣,所以小易只能通過兩台魔法機器產生恰好n個魔法幣,小易需要你幫他設計乙個投入方案使他最後恰好擁有n個魔法幣。

解題思路:

看到2x+1 和 2x+2 ,這兩個式子之後很明顯就可以知道乙個可以得到奇數乙個可以得到偶數。但是如何知道從0 開始,先使用哪個魔法機器呢?

既然從前面不知道怎麼向後推算,那就直接利用結果n 向前推算吧!還是沒有什麼思路,當然需要用筆畫一畫了。

稍微一畫,立馬就有思路了!如果令n%2==0,那麼到達n這一步則需要通過魔法機器2,如果!=0 那麼則是通過魔法機器1。然後設定好限制條件,就很容易的能夠將路徑倒序的裝入陣列中。最後,在倒過來列印就能夠知道應該怎麼選擇魔法機器了!

示例**:

#include"stdio.h"

int main()

else

i++;

}for(i = length; i >= 0; i--)

return 0;

}

第二題:為了得到乙個數的"相反數",我們將這個數的數字順序顛倒,然後再加上原先的數得到"相反數"。例如,為了得到1325的"相反數",首先我們將該數的數字順序顛倒,我們得到5231,之後再加上原先的數,我們得到5231+1325=6556.如果顛倒之後的數字有字首零,字首零將會被忽略。例如n = 100, 顛倒之後是1.

解題思路:

我一般寫**前都會先在紙上寫出大致思路,然後就直接寫**,接著除錯!看到這個題和以前課上老師布置的乙個作業挺像,只不過作業僅僅要求將乙個數字反過來其實還都是一樣!用n%10 取餘數,用陣列記錄下來。當然在模10之前應該先把最後的所有0 過濾掉!(也不用多說了,上**!)

示例**:

#include"stdio.h"

int main()

for(int i = 0;i

乙個由小寫字母組成的字串可以看成一些同一字母的最大碎片組成的。例如,"aaabbaaac"是由下面碎片組成的:'aaa','bb','c'。牛牛現在給定乙個字串,請你幫助計算這個字串的所有碎片的平均長度是多少。

解題思路:

首先明確一下,碎片最短為1,最少存在乙個碎片。設定乙個游標,從左向右遍歷字串(用到while迴圈結構)。然後判斷當前字元和下乙個字元是否相等,如果相等則當前碎片的長度加一,游標移向下乙個進入下一次迴圈。如果不相等,則開始重新記錄乙個碎片,游標移向下乙個進入下一次迴圈。

示例**:

#include"stdio.h"

int main()

else

j++; //游標移向下乙個字元

}int sum = 0;

int num=number-1;

for(int i=0;i

未完待續... ...

網易2018校園招聘程式設計題真題 程式設計題 相反數

時間限制 1秒 空間限制 32768k 為了得到乙個數的 相反數 我們將這個數的數字順序顛倒,然後再加上原先的數得到 相反數 例如,為了得到1325的 相反數 首先我們將該數的數字順序顛倒,我們得到5231,之後再加上原先的數,我們得到5231 1325 6556.如果顛倒之後的數字有字首零,字首零...

網易2019秋季校園招聘程式設計題真題部分

小易有乙個古老的遊戲機,上面有著經典的遊戲俄羅斯方塊。因為它比較古老,所以規則和一般的俄羅斯方塊不同。熒幕上一共有 n 列,每次都會有乙個 1 x 1 的方塊隨機落下,在同一列中,後落下的方塊會疊在先前的方塊之上,當一整行方塊都被佔滿時,這一行會被消去,並得到1分。有一天,小易又開了一局遊戲,當玩到...

單調棧 騰訊2019 2020校園招聘真題

什麼是單調棧,顧名思義,入棧時遵循單調原則。一般來說,可以求出乙個元素向右或向左能擴充套件的最大長度,保證該區間內該元素最大或最小。假設我們有乙個整數數列a,元素分別為20,10,30,40。對於第i個元素,我們要找到大於a i 的第乙個元素的位置。這就適合用單調棧的性質來求解,我們可以認為a i ...