一级毛片免费不卡在线视频,国产日批视频免费在线观看,菠萝菠萝蜜在线视频免费视频,欧美日韩亚洲无线码在线观看,久久精品这里精品,国产成人综合手机在线播放,色噜噜狠狠狠综合曰曰曰,琪琪视频

經(jīng)典企業(yè)面試題——爬樓梯

時(shí)間:2024-10-24 19:11:25 學(xué)人智庫(kù) 我要投稿
  • 相關(guān)推薦

經(jīng)典企業(yè)面試題——爬樓梯

  有n層的臺(tái)階,一開(kāi)始你站在第0層,每次可以爬兩層或者一層。請(qǐng)問(wèn)爬到第n層有多少種不同的方法?

經(jīng)典企業(yè)面試題——爬樓梯

  Follow Up Question: 如果每次可以爬兩層,和倒退一層,同一個(gè)位置不能重復(fù)走,請(qǐng)問(wèn)爬到第n層有多少種不同的方法?

  答:這道題屬于簡(jiǎn)單的數(shù)組一維動(dòng)態(tài)規(guī)劃

  1. State:f[i] 表示爬到第i層的方法數(shù)目。

  2. Function: f[i] = f[i-1] + f[i-2] 第i層的方法數(shù)目等于第i-1層數(shù)目加上第i-2層數(shù)目

  3. Intialize: f[0] = 1, f[1] =1 初始化 最開(kāi)始沒(méi)有爬和第一層的方法數(shù)目為1.

  4. Answer: f[n] 爬到第n層有多少種不同的方法

  Follow Up Question:

  這道題與原來(lái)的題相比提升了一個(gè)難度,主要是倒退一層,這個(gè)地方可能會(huì)違背動(dòng)態(tài)規(guī)劃無(wú)后效性的原則。 那么我們要怎么轉(zhuǎn)化呢?

  由條件:同一個(gè)位置不能重復(fù)走。我們可以知道如果要退步的話(huà),不能退兩層以上,因?yàn)橛脙刹酵藘蓪釉僖徊角斑M(jìn)兩層,那就會(huì)走相同的位置。所以我們最多只能退后一步。

  那么題目的條件就可以轉(zhuǎn)換兩種情況,

  a.跳兩層(前進(jìn)兩層)。

  b.退一層跳兩層 (前進(jìn)一層)。

  1. State:f[i][0] 表示最后一步是跳兩層情況下爬到第i層的方法數(shù)目。f[i][1] 表示最后是一步是退一層跳兩層的情況下爬到第i層的方法數(shù)目。

  2. Function: f[i+1][1] = f[i][0] 最后一步是退一層跳兩層的情況下爬到第i+1層的方法數(shù)目等于從第i層情況a的數(shù)目跳兩層退一層。這里不能考慮第i層的情況b的方法數(shù),因?yàn)榈趇層情況b的數(shù)目是從第i+1層退一步得到的。

  f[i+2][0] = f[i][0]+f[i][1] 最后一步是退一層跳兩層的情況下爬到第i+2層的方法數(shù)目等于第i層所有情況跳兩層。

  3. Intialize: f[0][0]=1初始化最開(kāi)始沒(méi)有爬的方法數(shù)目為1.

  4. Answer: f[n][0]+f[n][1] 爬到第n層a、b兩種不同的方法的總和

http://www.oriental01.com/

【經(jīng)典企業(yè)面試題——爬樓梯】相關(guān)文章:

爬樓梯膝蓋疼怎么辦07-04

Microsoft面試題09-04

iOS面試題07-10

公司面試題09-12

hibernate面試題10-18

英語(yǔ)面試題精選06-13

小升初面試題06-10

PHP面試題10-14

500強(qiáng)企業(yè)面試題,如何賣(mài)掉情人節(jié)后的玫瑰花?08-30

小升初面試題型08-24