京東2021資料分析崗筆試程式設計題

2021-10-23 11:04:23 字數 1597 閱讀 2231

第一題判斷兩個字串的最長公共子串,比如abcdef和aubwcd的最長公共子串為abcd,長度為4,要求判斷子串和原字串長度之比(四捨五入2位小數),當公共子串長度未達到原子串長度的50%,輸出yes,否則輸出no。

輸入:6

abcdef

aubwcd

#第一題

n=int

(input()

)a1=

list

(input()

.split())

a2=list

(input()

.split())

dp=[[0

]*(n+1

)for i in

range

(n+1)]

for i in

range(1

,n+1):

for j in

range(1

,n+1):

if a1[i-1]

==a2[j-1]

: dp[i]

[j]=dp[i-1]

[j-1]+

1else

: dp[i]

[j]=

max(dp[i]

[j-1

],dp[i-1]

[j])

res=

round

((dp[-1

][-1

]/n)

*100)/

100if res<=

0.5:

print

('%.2f'

%res,

'yes'

)else

:print

('%.2f'

%res,

'no'

)

第二題

輸入兩個數字,判斷兩個數字之間多少個去除乙個數字後依然是回文數字的素數。

輸入:110 120

輸出:10

分析:110去除0之後為11,既是素數,又可以回文(從左到右和從右到左數字順序相同),111去除1後為11,112去除2以後為11,以此類推到119去除9後為11,120去除任何乙個數字都不是素數,所以從110-120一共10個數字滿足條件。

count =

0 list_sushu =

n,m =

list

(map

(int

,input()

.split())

)for i in

range

(n,m+1)

: ss =

str(i)

for i in

range

(len

(ss)):

sss = ss[

:i]+ss[i+1:

]if sss =='':

break

num =

int(sss)

if num in list_sushu:

count+=

1break

print

(count)

筆試 京東資料分析暑期實習

京東暑期實習是我參加的最後乙個公司的筆試,也是唯一過了的筆試。因為一直忙的沒時間準備,就直接拿筆試當學習機會。京東資料分析的筆試是20道選擇 2道程式設計題。都不是很難 以上程式設計感覺還是用c c 順手,被迫無奈我又去翻了翻已經忘了的知識。1 選擇題主要是概率論和機器學習之類的,記不太清了。2 程...

京東筆試程式設計題。。消消樂

題目是 輸入5 5的矩陣,數值大小為1 5,上下左右相同的數值達到3個或以上可消除,每次都消除可消除的最大的那個區域,消除後的剩餘數值?由重力作用向下移動,求按此規則消除,直到無法消除時,剩餘未消除數值的個數。例如 31211 第一次 xx xx xx 3x2xx 3x223 第二次 xx xx x...

2019演算法崗阿里筆試程式設計題

程式設計題一共兩道,博主是個菜雞,有幸被阿里虐了一遍,筆試結束後整理了一下題目和自己的答案,希望對各位有個參考,放正文前,先放一張圖,今年阿里和商湯的筆試時間有衝突,網上對於阿里和商湯的筆試評價如下圖 阿里的程式設計題真的好接地氣,感覺就是把專案中的乙個小小的部分拿來了吧,完全打個措手不及 開始正文...