筆試記錄 京東 20200917 演算法

2021-10-09 15:48:13 字數 2429 閱讀 6730

2個小時,30道單選,2道程式設計

給定一些道具及其**和魅力值,在總**不超過某個上限的情況下使得購買的道具的魅力值最大。

多重揹包問題,逆向列舉。

import sys

while

true

: ans =

line = sys.stdin.readline(

).strip()if

''== line:

break

nums =

price =

value =

n, p =

list

(map

(int

, line.split())

)for i in

range

(n):

nu, pr, v =

list

(map

(int

, sys.stdin.readline(

).strip(

).split())

) dp =[0

]*(p+1

)for i, pr in

enumerate

(price)

:for w in

range

(p, pr-1,

-1):

for k in

range

(min

(nums[i]

, w//pr)+1

):dp[w]

=max

(dp[w]

, dp[w-k*pr]

+k*value[i]

)print

(dp[p]

)

給定乙個n行m列的二維矩陣作為地圖,』.』 表示可以通行,『#』表示不能通行,『s』為起點,『e』為終點,從起點開始,每次只能向上或向左或向下或向右移動乙個,如果下乙個位置為『#』則不能移動到該位置,不允許走出地圖,為能否到大終點。

dfs

import sys

move =[(

0,1)

,(1,

0),(

0,-1

),(-

1,0)

]def

canget

(start_i, start_j)

: visit[start_i]

[start_j]

=true

if mymap[start_i]

[start_j]

=='e'

:return

true

for mo in move:

next_i = start_i + mo[0]

next_j = start_j + mo[1]

if0<=next_i0<=next_j[next_j]

!='#'

and \

not visit[next_i]

[next_j]

:if canget(next_i, next_j)

:return

true

return

false

while

true

: ans =

line = sys.stdin.readline(

).strip()if

''== line:

break

t =int(line)

for _ in

range

(t):

n, m =

list

(map

(int

, sys.stdin.readline(

).strip(

).split())

) visit =[[

false

]* m for _ in

range

(n)]

start_i =

0 start_j =

0 mymap =

for i in

range

(n):

) line = sys.stdin.readline(

).strip(

)for j, c in

enumerate

(line):if

's'== c:

start_i = i

start_j = j

mymap[i]

print

('yes'

if canget(start_i, start_j)

else

'no'

)

京東軟體開發筆試記錄

1,求出最長公共子串行,並判斷是否可以進行火星。記不清了 include include using namespace std int main for int i 0 i n i for int i 0 i n i for int i 1 i n i int max length dp n n ...

京東筆試題

剛才看到一篇京東筆試題,又見無聊題,俗稱智力題,下面我們就看看。1.說一架飛機可以飛50公尺,但是現在需要其飛100公尺,飛機之間可以互相加油。問是要飛完一共需要派出幾架飛機 首先飛機快飛到25公尺處時派出一架飛機從起點起飛,同時到達25公尺處,加完油後可以可以飛到75公尺,快到75公尺時從終點派出...

京東筆試總結

集中式匯流排 集中式序列鏈結,查詢所有部件都用一條 匯流排請求 線 集中式定時查詢,所有部件共用一條 匯流排忙 線 集中式定時查詢,所有部件都用一條 匯流排請求 線 乙個gfs集群由乙個master和大量chunkserver構成 浮點數尾數基值rm 8,尾數長度為6,則可表示規格化正尾數的個數為多...