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