阿里巴巴2020演算法實習生筆試題目及解法

2021-10-04 07:48:27 字數 1717 閱讀 1819

題目描述:

從n個人中選出一部分人,然後,在這一部分人中選乙個隊長,共有多少種選法?

其實就是乙個排列組合的問題,組合各種可能,然後在組合好的人選裡選擇乙個數。

num =

int(

input()

)b =

a =''

for n in

range(1

,num+1)

:for i in b:

a +=

''.join(

str(i)

)import itertools

list1 = a

list2 =

for i in

range(1

,len

(list1)+1

):iter

= itertools.combinations(list1,i)

list

(iter))

count =

0for j in list2:

for k in j:

print

(j) count +=

len(k)*1

print

(k)print

(count)

方法二

def

getbinaryrep

(n, numdigits)

:"""假設n和numdigits為非負整數

返回乙個長度為numdigits的字串,為n的二進位制表示"""

result =

''while n >0:

result =

str(n%2)

+ result

n = n//

2# if len(result) > numdigits:

# raise valueerror('not enough digits')

for i in

range

(numdigits -

len(result)):

result =

'0'+ result

return result

print

(getbinaryrep(6,

4))def

genpowerset

(l):

"""假設l是列表返回乙個列表,包含l中元素所有可能的集合。例如,

如果l=[1, 2],則返回的列表包含元素[1]、[2]和[1,2]"""

powerset =

for i in

range(1

,2**len

(l))

: binstr = getbinaryrep(i,

len(l)

) subset =

for j in

range

(len

(l))

:if binstr[j]

=='1':)

return powerset

l =[1,

2,3]

a= genpowerset(l)

count =

0for i in a:

count +=

len(i)

print

(count)

阿里巴巴暑期實習生筆試題

1.kmp演算法 長度為n的主串t中匹配長度為m的子串p n m 匹配成功 存在p的每個字元依次和t中的乙個連續字串行相等 輸出主串中匹配串起始位置,匹配失敗輸出 1 思路 首先用o m 的時間對子串進行預處理,可通過子串本身的特性判斷出需要右移幾位才是可能匹配的 然後用o n 的時間去完成匹配 時...

阿里巴巴2017實習生筆試題 一

ps 檢視答案請移步bat直通車 總計24道題目,鑑於csdn的markdown格式總出錯,這裡顯示有問題,建議直接移步bat直通車直接檢視 選擇題 1.關於c 的inline關鍵字,以下說法正確的是 a.使用inline關鍵字的函式會被編譯器在呼叫處展開 b.標頭檔案中可以包含inline函式的宣...

2023年阿里巴巴實習生筆試題

前幾天參加了阿里的筆試題,題目雖然很簡單,但是現在回想下發現出了不少問題,還是基礎不牢固啊。把這些題目寫出來也算是對自己的一種提公升吧。1.html題 國家名稱 網域名稱排名 中國 www.taobao.com 1 美國 epay www.epay.com 2 amazon www.epay.com...