筆試程式設計(5) 百度

2021-10-08 09:33:33 字數 1063 閱讀 7291

題目描述

給定乙個陣列num,存在乙個大小為k的滑動視窗,該視窗從陣列的最左邊移到最右邊,只能在視窗看到k個數字,每次滑動向右移動乙個位置,請返回最大滑動視窗裡大數字。要求時間複雜度o(n)

[1,3,-1,-3,5,3,6,7],3

[3,3,5,5,6,7]

分析思路

1.視窗最大值遍歷陣列a到len(a)-k+1,每組最大值用max(nums[i:i+k])求解

2.輸入

利用切片

lis=input()

k=lis.split(',')[-1]

a=lis[0:len(lis)-(len(k)+1)]

k=int(k)

from ast import literal_eval

a=literal_eval(a)

3.輸出

ans=maxpool1d_cpu(a,k)# ans接收的是列表

print(str(ans))

完整**

def maxpool1d_cpu(nums,k):

result=

for i in range(len(nums)-k+1):

return result

lis=input()

k=lis.split(',')[-1]

a=lis[0:len(lis)-(len(k)+1)]

k=int(k)

from ast import literal_eval

a=literal_eval(a)

print(a,k)

ans=maxpool1d_cpu(a,k)# ans接收的是列表

print(type(ans))

print(str(ans))

輸出結果

百度2017秋招筆試程式設計題

二舅要蓋房,小明幫忙搬磚,準備幹 n天。二舅說 每天你可以選輕活 重活 不幹活。怕你累著了,只有前一天沒幹活才能乾重活。當然輕活錢少,重活錢多,而且每天還會變。理工科的小明準備設計乙個演算法,看怎樣才能拿到最多錢。輸入 numofdays 幹的天數 n,整數 tasklist 整數列表,第一列幹輕活...

筆試 百度程式設計題

result.push back price 最終的size一定 n sort result.begin result.end if result.size 3 result.size 50 else if count 3 cout 1 endl 輸入的都是同乙個 return 0 丟進set去重 ...

百度筆試題

一 選擇題 15分 共10題 1.在排序方法中,關鍵碼比較次數與記錄地初始排列無關的是 a.shell排序 b.歸併排序 c.直接插入排序 d.選擇排序 2.以下多執行緒對int型變數x的操作,哪幾個需要進行同步 a.x y b.x c.x d.x 1 3.void func 中,變數val的記憶體...