沒學過資料結構與演算法遇到乙個演算法,想了很久沒想出來,希望有大神能解答?

時間 2021-06-10 07:24:20

1樓:弗雷德裡希大王

謝 @渡邊早季.meta 邀,花了幾分鐘想了乙個取巧的辦法

def guess(litsA,limit,count=5):

z=[str(i) if i < limit else str(' ') for i in litsA ]

return [i for i in (''.join(z)).split(' ') if len(i)>=count]

if __name__ =='__main__':

a = [14, 2, 3, 4, 5, 6, 7, 34, 35, 45, 5, 6, 7, 8, 78, 89, 0, 1, 3, 5, 7, 3, 5, 90]

x=guess(a,8)

print(x)

時間複雜度上有待改進,但是寫法看著很漂亮,這道題如同山山老師說的那樣,真的是easy。

2樓:擴散性百萬甜麵包

從理解角度講,可以看狀態機的概念和理論(例如FSN)其實還可以理解成管道,流什麼的

whatever

從實現角度講,可以用佇列優化到O(n)的時間(睡前想的,不負責對錯)花了五分鐘寫了乙個

const

assert

=require

('assert'

)const

solve=(

arr=

,max

,length=5

)=>})return

res}

const

res=

solve

([14,2

,3,4

,5,6

,7,34

,35,45

,5,6

,7,8

,78,89

,0,1

,3,5

,7,3

,5,90

],8)assert

.notStrictEqual

(res,[[

2,3,

4,5,

6,7],

[0,1

,3,5

,7,3

,5]])

怎樣在一年以內系統地學習資料結構與演算法?

Hunter 大學裡這門課開課就乙個學期,所以用一年來學習感覺戰線有點太長。題主你完全可以找本不錯的薄的資料結構與演算法書籍來盡快掌握基本的知識,然後去刷題,在刷題中學習鞏固,學以致用會讓你學的越來越快。 加公尺谷大資料老師 資料結構與演算法,可以說是計算機學科的重要基礎,怎麼才算學好了資料結構與演...

有關 Objective C 中乙個資料結構的問題,為什麼 NSArray 和 NSDictionary 都被設計成只能存放物件(不能存放基本型別,如 int)?

因為NSArray中儲存的是指標,並且通過在加入到容器中的時候retain來保證指標的有效性。OC的堆上儲存是基於引用計數的,而原始資料型別的操作方式和OC型別是不同的 不需要retain 個人認為cocoa設計時為了效率 不需要判斷加入容器中的元素的型別 也為了抽象的一致性 即引用計數操作 而沒有...

bat面試問了乙個資料結構問題,求教!

趙磊 我覺得吧,既然面試官引導你對vector進行優化,那他肯定是自己心裡大致有乙個方案了,這個無法優化聽起來顯然是無法接受了。為什麼不想個折中點的辦法呢?vector的插入效率不太高,主要原因在於當陣列規模擴大的時候每超過一定數量就會重新申請記憶體,那麼為什麼不能把它設計成分塊的呢?做成乙個鍊錶,...