日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

c语言分配飞机10个座位,leetcode1227(飞机座位分配)--C语言实现

發布時間:2025/3/12 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言分配飞机10个座位,leetcode1227(飞机座位分配)--C语言实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

對于第一個乘客來說 他有三種選擇

坐在正確的(自己的位置), 那么后面的乘客都不會亂,所以第n個乘客可以坐到自己的位置, 1/n * 1.

坐在第n個乘客的位置,那么第n個乘客肯定無法坐到自己的位置, 1/n * 0.

坐在[1,n-1]之間的某個位置K.

對于第K個乘客而言,自己的位置K已經被乘客1給占了,而[2,K-1]的乘客先于K乘客 上飛機,能找到自己的位置并坐下,所以當K乘客上飛機時,留給他的選擇是

第1個座位,以及[K+1,n]的座位。

此時K乘客同樣有3個選擇,

如果他坐在正確的座位,那么后面的乘客都不會亂,第n個乘客可以坐到自己的位置,

只不過此時對于K乘客而言,正確的座位就是座位1。

坐在第n個乘客的位置,那么第n個乘客肯定無法坐到自己的位置

坐在[K+1,n-1]之間的某個位置。

可以發現對于第一個乘客和第K個乘客,他們面臨的選擇是一樣的,只不過問題的規模不一樣。第K個乘客時,問題的規模只有n-K+1. (為何, 上面已經解釋過了,對于第K個乘客而言,自己的位置K已經被乘客1給占了,而[2,K-1]的乘客先于K乘客 上飛機,能找到自己的位置并坐下)。

所以此題公式為

p[1] = 1.0;

p[2] = 0.5;

p[3] = 1/3 + p[2]/3 = 0.5;

p[4] = 1/4 + p[2]/4 + p[3]/4 = 0.5

p[n] = 1/n + p[2]/n + ..... + p[n-1]/n

np[n] = 1+p[2]+p[3]+......+p[n-1];

(n+1)p[n+1]=1+p[2]+p[3]+......+p[n]

(n+1)p[n+1]-np[n]=p[n];

p[n+1]=p[n];(n>=2)

所以:

p[n]=1(n=1)

p[n]=0.5(n=2,3,4,5,...)

總結

以上是生活随笔為你收集整理的c语言分配飞机10个座位,leetcode1227(飞机座位分配)--C语言实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。