迅雷 2018校招AI演算法筆試題

2021-08-29 00:09:26 字數 1169 閱讀 3173

1.

思路: 先對兩個陣列進行排序(降序),然後求出兩個陣列中各取出乙個數字的所有和(之前有總結過,list定義時用迴圈巢狀,相當於排列組合),再排序,輸出給定的前n個,輸出時要注意轉為字串。

def find_max(a,b,num):

a.sort(reverse=true)

b.sort(reverse=true)

res_list =

for i in a:

for j in b:

res_list.sort(reverse=true)

res = res_list[:num]

print ','.join(str(i) for i in res)

2. 給定一維陣列,要求找出陣列中乙個數,使得該數等於左邊之和同時也等於右邊之和,如果有多個僅輸出第乙個,如果沒有則返回false

思路: 遍歷陣列,新增此元素,左邊的和,右邊的和到集合中,如果集合的len為1,說明這三個元素相等,則新增到結果列表中。

def find_sp_num(a):

res_list =

if len(a) < 3:

print 'false'

elif len(a) == 3:

if len(set(a)) == 1:

print a[0]

else:

print 'false'

else:

for i in range(1,len(a)):

res = set()

left_sum = 0

right_sum = 0

left = a[:i]

right = a[i+1:]

for n in left:

left_sum += n

for m in right:

right_sum += m

res.add(left_sum)

res.add(a[i])

res.add(right_sum)

if len(res) == 1:

if len(res_list) != 0:

print res_list[0]

else:

print 'false'

有更好的辦法歡迎指導!

廣聯達2018校招筆試題

廣聯達現場筆試,有一種難受叫做,沒時間了,也沒紙了,但是卻發現了程式的錯誤。第一題 輸入乙個n,輸出1 2 3 4 5 6 7.n的值。int fun int num return sum void main void main int num cin num int len sizeof ar s...

觸寶科技2018校招筆試題

大概的思路就是 預設這個距離 最大兩點的距離 函式是時間變數的乙個凸函式 我猜的,具體證明不會 凸函式找最大值,用三分法就可以了。然後就三分時間則可以求得答案 include include include include using namespace std const int mx 308 c...

百詞斬2018校招筆試題

一 要求實現三個功能,呼叫 edit 進行資料錄入,呼叫 rollback 進行撤銷,必須錄入之後方可撤銷,否則輸出e,呼叫 restore 進行撤銷恢復 同時,必須在撤銷之後才可以進行恢復。輸入第一行為一共的操作次數,接下來的n行,每行代表乙個命令,輸出為n行,為每一步操作之後的顯示結果。輸入 7...