2019校招實習筆試彙總

2021-09-17 18:54:29 字數 3085 閱讀 8529

mark下遇到的筆試題吧

招行演算法:

同學遇到的題,筆試後交流了下思路,由於a範圍比較小,所以可以暴力(搜尋剪枝)加用集合和字典優化。複雜度大概o(n*logn)

有n種不同的化學試劑。第i種有ai公升。每次實驗都要把所有的化學試劑混在一起,但是這些試劑的量一定要相等。所以現在的首要任務是把這些化學試劑的量弄成相等。

有兩種操作:

· 把第i種的量翻倍,即第i種的量變成2ai。

· 把第i種的量減半,除的時候向下取整,即把第i種的量變成 ⌊ ai2 ⌋ 。

現在所有的化學試劑的量已知,問最少要變換多少次,這些化學試劑的量才會相等。

input

單組測試資料。

第一行有乙個整數n (1 ≤ n ≤ 10^5),表示化學物品的數量。

第二行有n個以空格分開的整數ai (1 ≤ ai ≤ 10^5),表示第i種化學試劑的量。

output

輸出乙個數字,表示最少的變化次數。

input示例

34 8 2

output示例

from collections import defaultdict

n=input()

l=list

(map

(int

,input()

.split())

)def

slove

(l):

iflen

(l)<=1:

return

0 ans=defaultdict(

int)

p=set(

range

(10001))

for i in l:

q=[(i,0)

] visted=

set(

)while q:

k,l=q.pop(

)if k>=

1and k<=

10000

and k not

in visted:

ans[k]

+=l visted.add(k)

(k<<

1,l+1)

)(k>>

1,l+1)

) p=p&visted

res=

100000000086

for k in p:

res=

min(res,ans[k]

)return res

print

(slove(l)

)

阿里機器學習演算法

由於資料不大,所以兩道分析出公式後,就可以模擬。

第一題,兩個人分獎金,給乙個概率的序列分別[p0,p1,p2,p3…pn]依次表示a,b取得獎金的概率,序列到底後從p0開始(假如是奇數的話從p1開始),但是超過100輪的話,則結束。求a分得獎金概率,保留4位小數。

n=

int(

input()

)p=[0

]for i in

range

(n):

float

(input()

))defsovle

(n,p)

: ans=

0if n%2==

1:k=

100//n+

1 p=p+p[2:

]*kelse

: k=

100//n+

1 p=p+p[1:

]*kans=

0for i in

range(1

,101):

if i%2==

1:midans=p[i]

for k in

range(0

,i):

midans*=(1

-p[k]

) ans+=midans

return

round

(ans,4)

print

(sovle(n,p)

)

第二題

m個魚丸,n個肉丸,k個婉,(00), 每個碗最多裝50個丸子,魚丸肉丸不混在乙個碗,不區分碗,求裝法。空碗不計。

m=

int(

input()

)n=int(

input()

)k=int(

input()

)mod=

10000

defc

(a,b)

: ans=

1for i in

range

(a-b+

1,a+1)

: ans*=i

for j in

range(1

,b+1):

ans=ans/j

return ans%mod

defsovle

(m,n,k)

: k=

min(k,m+n)

if k<=1:

return

0 pm=[0

]*(m+1

) pn=[0

]*(n+1

) res=

0for j in

range(1

,m):

res+=c(m,j)

pm[j]

=res

res=

0for j in

range(1

,n):

res+=c(n,j)

pn[j]

=res

ans=

0for i in

range(1

,k):

ans+=pm(i)

*pn(k-i)

ans=ans%mod

return ans

print

(sovle(m,n,k)

)

考試的時候沒a,只通過部分,感覺是考慮的特殊情況不全面。

2019騰訊校招實習筆試題打怪獸

小q打算穿越怪獸谷,他不會打怪,但是他有錢。他知道,只要給怪獸一定的金幣,怪獸就會一直護送著他出谷。在谷中,他會依次遇見n只怪獸,每只怪獸都有自己的武力值和要 賄賂 它所需的金幣數。如果小q沒有 賄賂 某只怪獸,而這只怪獸 武力值 又大於護送他的怪獸武力之和,這只怪獸就會攻擊他。小q想知道,要想成功...

華為2019校招筆試

示例2 示例 常用的邏輯運算有and 表示為 or 表示為 not 表示為 他們的邏輯是 1 1 1 1 0 0 0 1 0 0 0 0 1 1 1 1 0 1 0 1 1 0 0 0 0 1 1 0其中,他們的優先關係為 not and or 例如 a b c 實際是 a b c a b c d ...

京東 2019校招筆試 對比

現有n個物品,每個物品有三個引數 ai bi ci 定義i物品不合格品的依據是 若存在物品 j 且aj ai bj bi cj ci,則稱i物品為不合格品。現給出n個物品的a,b,c引數,請你求出不合格品的數量。第一行包含乙個整數n 1 n 500000 表示物品的數量。接下來有n行,每行有三個整數...