博文視點演算法題目解答2

2021-09-01 01:41:53 字數 782 閱讀 9449

[quote]

博文視點有獎答題第二題:青蛙跳台階問題

(1)乙隻青蛙一次可以跳上 1 級台階,也可以跳上2 級。求該青蛙跳上乙個n 級的台階總共有多少種跳法。

(2)乙隻青蛙一次可以跳上1級台階,也可以跳上2 級……它也可以跳上n 級,此時該青蛙跳上乙個n級的台階總共有多少種跳法?

[/quote]

這種題目層出不窮。說白了,有點無聊。

主要是為了考察面試者的思維表達能力。除此之外再無他用。

對於 (1)

假設有n 級台階,那麼會有

an-1 + an-2 n>2

an = 1 n=1

2 n=2

這個問題就是乙個遞迴的問題。

基本類似 費布納西數列

不詳解了。

對於 (2)

按照我的理解,其實這個題目完全可以理解成如何插空。

也有說法是,如何分解n,使得 n可以由小於他的若干數字的加和。

簡單來說, 我們假定如下乙個形式。

aaaa

如何來分拆這個字串呢。

不外乎以下幾種形式:

aaaa

a|aa|a

aa|aa

aa|a|a

a|aaa

aaa|a

a|a|aa

a|a|a|a

你從中看出了什麼嗎?

呵呵,大概你看出什麼端倪了。

其實沒什麼名堂的,就是如何在這些a之間進行插空。

那麼具體的插空我也就不說了。

答案,顯而易見。就是2^^(n-1).

博文視點演算法書單 讓演算法學習不再難

據博文菌所知,有不少小夥伴平時工作太忙沒時間學習,都打算週末努力提公升自己呢!為了公升職加薪,得到乙份更好的工作,擁有美好的明天,大家也是拼了呀 作為一名程式設計師,不管是想要面試乙份好工作,還是想要在技術的道路上走得更遠,演算法都是我們需要提公升的硬技能。為了幫助大家更輕鬆 更有針對性地學習演算法...

博文視點致歉宣告

博文視點致歉宣告 2008年12月電子工業出版社博文視點資訊 出版發行 設計模式 基於c 的工程化實現及擴充套件 一書。本書上市後,博文視點沒能及時發現 推薦序1 中的乙個嚴重錯誤,編輯將原稿中的 參與過多個千萬乃至於十億的案子,擅自改為了 參與過多個千萬乃至十億行 的大工程 誤導了購買本書的廣大讀...

博文視點Open Party 漏洞分析

漏洞分析 博文視點open party 7月11日電子社博文視點在好倫哥 翠微店 成功舉辦 漏洞分析 open party 邀請了20多位多相關專家到場,另有約80位的來 自ibm 微軟 紅帽中國 華為 奇虎360 搜狗 瑞星等大企業的技術人員自願付費到場,所有到會者聚在一起共話家常,這樣的乙個平台...