題目描述:
x星人的基因由a、b、c、d、e五種不同的結構組合而成。
如果兩個性別不同的x星人的基因序列相似度大於50%,按照x星的法律他們是禁止結婚的,等於50%據說還是可以的。
那麼基因的相似度怎麼計算呢?分別從兩個人身上取長度均為n的基因片段,如果它們的最長公共子串行
(注意,最長公共子串行不需要連續)的長度為m,則相似度=m/n。是不是很簡單呢?
現在給你兩段x星人的基因序列片段,請你判斷他們是不是可以結婚?
思路:動態規劃,求最長子序列問題
def
test()
: n =
int(
input()
) arr1 =
input()
.strip(
).split(
" ")
arr2 =
input()
.strip(
).split(
" ")
dp =[[
0]* n for _ in
range
(n)]
dp[0]
[0]=
1if arr2[0]
== arr1[0]
else
0for i in
range(1
, n)
: dp[0]
[i]=
max(dp[0]
[i -1]
,1if arr1[0]
== arr2[i]
else0)
for i in
range(1
, n)
: dp[i][0
]=max(dp[i -1]
[0],
1if arr2[0]
== arr1[i]
else0)
for i in
range(1
, n)
:for j in
range(1
, n)
: dp[i]
[j]=
max(dp[i -1]
[j], dp[i]
[j -1]
)if arr1[i]
== arr2[j]
: dp[i]
[j]=
max(dp[i]
[j], dp[i -1]
[j -1]
+1) res = dp[-1
][-1
]/ n
return
round
(res,2)
if __name__ ==
'__main__'
: res = test(
)if res <=
0.5:
yes =
" yes "
print
(res, end="")
print
(yes, end="")
else
:print
(" no "
)
回文判斷:
現有乙個正整數,希望去掉這個數中某乙個數字之後可以得到乙個回文素數。
回文素數是指乙個素數同時還是乙個回文數(回文數即從左到右和從右到左均一樣的數,例如12321)。【注意:一位數也被認為是回文數】
輸入兩個正整數n和m,滿足n思路:雙指標按回文解決。
def
test()
: n, m =
list
(map
(int
,input()
.strip(
).split(
" ")))
count =
0for i in
range
(n, m +1)
: strn = getnumlist(i)
if valid(strn)
: count +=
1return count
defvalid
(s):
left =
0 right =
len(s)-1
while left < right:
if s[left]
!= s[right]
:return ispalindrom(s, left +
1, right)
or ispalindrom(s, left, right -1)
else
: left +=
1 right -=
1return
true
defispalindrom
(s, left, right)
:if s[0]
=="0"
: s = s[1:
]while left < right:
if s[left]
== s[right]
: left +=
1 right -=
1else
:return
false
return
true
defgetnumlist
(n):
res =
""while n >0:
res +=
str(n %10)
n = n //
10# print(res)
res = res[::
-1]if res[0]
=="0"
:return res[1:
]return res
if __name__ ==
'__main__'
:print
(test(
))
第一題提交過45%;
第二題過18%。
這是為什麼呢?一臉懵逼。是python的原因嗎
京東筆試題
剛才看到一篇京東筆試題,又見無聊題,俗稱智力題,下面我們就看看。1.說一架飛機可以飛50公尺,但是現在需要其飛100公尺,飛機之間可以互相加油。問是要飛完一共需要派出幾架飛機 首先飛機快飛到25公尺處時派出一架飛機從起點起飛,同時到達25公尺處,加完油後可以可以飛到75公尺,快到75公尺時從終點派出...
京東筆試題總結
1.談談優雅降級與漸進增強的區別。漸進增強 progressive enhancement 針對低版本瀏覽器進行構建頁面,保證最基本的功能,然後再針對高階瀏覽器進行效果 互動等改進和追加功能達到更好的使用者體驗。優雅降級 graceful degradation 一開始就構建完整的功能,然後再針對低...
京東2016筆試題
我的結果,深度搜尋。考試當場小毛病沒改出來16 正確率 後來發現橫縱座標寫反了。醉了。以後再也不用xy做座標了,用row col的話就不會想歪了。include include using namespace std int dfs vector map,int x,int y,int max,in...