自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

用Python 通過動(dòng)態(tài)規(guī)劃完成公務(wù)員考試題

開發(fā) 后端
今天在脈脈上看到有人發(fā)了一道公務(wù)員的考試題,這道題可以用數(shù)學(xué)方法來做,但我離開學(xué)校很多年了,想不出數(shù)學(xué)的解法。不過看到題目的一瞬間,我就想到了可以使用動(dòng)態(tài)規(guī)劃來解決這個(gè)問題。

[[351065]]

今天在脈脈上看到有人發(fā)了一道公務(wù)員的考試題,題目如下:

這道題可以用數(shù)學(xué)方法來做,但我離開學(xué)校很多年了,想不出數(shù)學(xué)的解法。不過看到題目的一瞬間,我就想到了可以使用動(dòng)態(tài)規(guī)劃來解決這個(gè)問題。

我們把“家”的位置標(biāo)記為(0, 0),把單位的位置標(biāo)記為(4, 3),如下圖所示:

動(dòng)態(tài)規(guī)劃的一個(gè)典型解法,就是想問題的時(shí)候,倒著想。假設(shè)現(xiàn)在我已經(jīng)在單位(4, 3)了。我上一步是在哪里?要到(4, 3),只有兩種方法,從(3, 3)到(4, 3)或者從(4, 2)到(4, 3)?,F(xiàn)在問題的規(guī)??s小了,變成了兩個(gè)小問題,一個(gè)是從家(0, 0)到(4, 2)有多少種走法,另一個(gè)是從家(0, 0)到(3, 3)有多少種走法。

到這里,我們看出來這實(shí)際上是一個(gè)遞歸問題,也就是fn(x, y) = f(x - 1, y) + f(x, y - 1)。

不過,這里要考慮另一個(gè)問題,就是當(dāng)我們?cè)趂n(x, 0)或者fn(0, y)的時(shí)候。如果 x > 1,那么此時(shí)只有一種走法,就是從(x-1, 0)到 (x, 0)。如果x == 1,那么此時(shí)只能是從(0, 0)到(1, 0)。同理,對(duì)于(0, y)也是一樣,如果y > 1,那么只能從(0, y - 1)到(0, y)。如果y == 1,那么只能是從(0, 0)到(0, 1)。

于是,根據(jù)這個(gè)思路,我們可以寫出如下的代碼:

  1. def find_walk_num(x, y): 
  2.     if y == 0: 
  3.         if x == 1: 
  4.             return 1 
  5.         return find_walk_num(x - 1, 0) 
  6.     if x == 0: 
  7.         if y == 1: 
  8.             return 1 
  9.         return find_walk_num(0, y - 1) 
  10.     return find_walk_num(x - 1, y) + find_walk_num(x, y - 1) 
  11.  
  12. result = find_walk_num(4, 3) 
  13. print(f'從(0, 0)到(4, 3)的走法一共有:{result}種') 

運(yùn)行效果如下圖所示:

所以這道題的答案就是 D,一共有35種走法。

 

責(zé)任編輯:趙寧寧 來源: 未聞Code
相關(guān)推薦

2025-02-20 00:00:00

2025-02-27 09:30:28

2021-11-15 08:30:27

碼農(nóng)公務(wù)員同學(xué)

2023-01-04 12:49:28

GPT-3.5

2021-01-18 06:43:54

程序員公務(wù)員996

2025-03-10 10:55:44

2015-10-21 16:27:45

公務(wù)員國(guó)考大數(shù)據(jù)

2009-09-29 09:22:00

CCNA考試題目分析CCNA

2010-12-07 13:37:42

2023-05-11 09:50:13

AI微軟

2015-09-29 09:23:30

高富帥男朋友男神

2014-08-21 10:22:53

2017-08-11 15:08:46

碼農(nóng)公務(wù)員計(jì)算機(jī)

2009-10-10 15:36:00

CCNA考試題目CCNA

2021-08-25 09:33:16

算法開發(fā)技術(shù)

2009-09-15 14:27:57

CCNA考試題型

2019-04-17 15:55:00

程序員公務(wù)員

2009-09-27 10:41:38

CCNA認(rèn)證

2025-04-22 09:05:36

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)