2020阿里筆試程式設計題

2021-09-27 04:18:09 字數 2335 閱讀 5222

選擇題很難做,阿里的秋招貌似非常難,大部分崗位都留給了實習生,但是兩道程式設計題不怎麼難。

有乙個n*n的地圖,乙隻兔子想要穿過這個地圖,給出的地圖是乙個二維陣列map[i][j],數值表示該位置的毒霧持續時間,當兔子在(x,y)位置時,它可以跳到(x+2,y)或者(x,y+2)位置,跳的時候需要對應等待map[x+1][y]或者map[x][y+1]的時間,兔子開始跳的位置從map[1][1…n]中選擇,兔子到達第n行或者跳到了第n+1行均表示闖過了,求出兔子最少要花多少時間。(6<= n <= 30)

示例:輸入

61,2,3,5,7,6

2,1,4,5,7,4

3,4,5,6,3,6

2,3,1,4,6,8

5,6,1,4,6,2

4,2,4,1,1,6輸出6

深搜即可,但是不知道我的**能不能全部跑過,感覺是不怎麼難,深搜的引數是座標(x,y),當y為n或n+1時記錄當前時間,答案取最小時間即可。

#include

#include

#include

#include

#include

using

namespace std;

#define inf 0x3f3f3f3f

typedef

long

long ll;

int n,ti,ans;

int mp[31]

[31];

intdfs

(int x,

int y)

ti +

= mp[x+1]

[y];

dfs(x+

2,y)

; ti -

= mp[x+1]

[y];

if(y < n-1)

return0;

}int

main()

scanf

("%d"

,&mp[i]

[n]);}

ans = inf;

for(

int i=

1; i<=n ; i++

) cout

}

有一群男孩(用』b』表示)和女孩(用』g』表示)圍成了乙個圈,這個圈由一串字串給出,如bgbbbgg,這個字串表示的圈中位置0是個男孩,位置6是個女孩,作為乙個圈他們倆是挨著的。我們把身邊女孩子特別多的男孩子稱為快樂男孩,比如上面的位置0,他身邊有三個女孩子,別的男孩子最多身邊才倆女孩,所以這個是快樂男孩,現在想知道哪個是快樂男孩。

這題還有問題二,圈裡連續的幾個人被稱為乙個小團體,給出乙個k,表示乙個小團體裡最多只能有k個女孩子,問這樣的小團體裡面最多能有幾個男孩子?

示例輸入

bgbbbgbggbgbg3輸出

6 6示例解釋:顯然位置6的這個比身邊有三個女孩子所以他是快樂男孩,bgbbbgbggbgbg小團體有三位女生和六位男生。

這個模擬一下就好了,第乙個問題找boy左右兩邊的girl的數量,往left遍歷直到出現了新的boy,當left為0時下乙個left為n-1,看一下當前left是否是初始boy,如果是說明圈裡只有乙個boy,可以不再往右邊遍歷,否則往right遍歷直到出現了boy,當right為n-1時下乙個right為0。

第二個問題先考慮女生數量少於等於k的情況,那麼輸出總共的男生數即可,否則,我的做法是先找到乙個女生,這個女生不包括在小團體中,從這個位置往後算作小團體,數男生的數量和女生的數量,直到女生出現了k+1次的時候停止。

#include

#include

#include

#include

#include

using

namespace std;

#define inf 0x3f3f3f3f

typedef

long

long ll;

string ss;

intmain()

if(le != i)}if

(sumgirl > maxgirl)

}else

if(ss[i]

=='g')}

if(gir <= k)

maxboy = len-gir;

else

else

mov++;if

(mov==len) mov =0;

}while

(ss[mov]

=='b')if

(sumboy > maxboy)}}

}" "

}

2020華為筆試程式設計題

給定兩個字元集合,乙個為全量字符集,乙個為已占用字符集。已占用的字符集中的字元不能再使用,要求輸出剩餘可用字符集。輸入描述 輸入為乙個字串,字串中包含了全量字符集和已占用字符集,兩個字符集使用 連線,前面為全量,後面為已占用。已占用字符集中的字元一定是全量字符集中的字元。字符集中的字元跟字元之間用英...

筆試 程式設計題

1.class a class b public a int main 2.int main 3.int func int a int main little endian int main char p char a 2 printf 0x x,0x x,0x x p 1 p,short p re...

華為2020校招筆試程式設計題

剛做完華為的筆試題,簡要描述一下三道程式設計題的解決方法以及python 實現 第一題大致描述 給定兩個已經公升序排序好的的序列a 和b 乙個數r,找出滿足以下條件的的 ai,bj 序列對 1.ai bj 2.bj和ai兩者的距離 滿足 bj ai r 要是該條件不滿足,就從序列b中找出 和ai 距...