題目描述
給定乙個陣列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的記憶體...