无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

給你一個(gè)數(shù)組 seats 表示一排座位,其中 seats[i] = 1 代表有人坐在第 i 個(gè)座位上,s

2023-08-22 10:46 作者:酸奶公園  | 我要投稿

給你一個(gè)數(shù)組 seats 表示一排座位,其中 seats[i] = 1 代表有人坐在第 i 個(gè)座位上,seats[i] = 0 代表座位 i 上是空的(下標(biāo)從 0 開始)。


至少有一個(gè)空座位,且至少有一人已經(jīng)坐在座位上。


亞歷克斯希望坐在一個(gè)能夠使他與離他最近的人之間的距離達(dá)到最大化的座位上。


返回他到離他最近的人的最大距離。

思路:


1. 遍歷數(shù)組找到所有空座位的索引位置,保存在一個(gè)列表中。

2. 初始化最大距離為0。

3. 遍歷空座位的索引列表,計(jì)算亞歷克斯坐在當(dāng)前空座位上與離他最近的人的距離。

4. 更新最大距離為當(dāng)前距離與最大距離的較大值。

5. 返回最大距離。


代碼如下所示:


```python

def maxDistToClosest(seats):

? ? n = len(seats)

? ? max_distance = 0

? ? empty_seats = []


? ? # 找到所有空座位的索引位置

? ? for i in range(n):

? ? ? ? if seats[i] == 0:

? ? ? ? ? ? empty_seats.append(i)


? ? # 計(jì)算亞歷克斯坐在每個(gè)空座位上與離他最近的人的距離

? ? for seat in empty_seats:

? ? ? ? distance = min(seat - empty_seats[0], empty_seats[-1] - seat)

? ? ? ? max_distance = max(max_distance, distance)


? ? return max_distance

```


復(fù)雜度分析:


- 時(shí)間復(fù)雜度:遍歷數(shù)組需要O(n)的時(shí)間,計(jì)算亞歷克斯與離他最近的人的距離需要O(k)的時(shí)間,其中k為空座位的數(shù)量。因此總時(shí)間復(fù)雜度為O(n+k)。

- 空間復(fù)雜度:除了輸入數(shù)組和一些輔助變量外,需要額外的O(k)的空間來保存空座位的索引。因此總空間復(fù)雜度為O(k)。


給你一個(gè)數(shù)組 seats 表示一排座位,其中 seats[i] = 1 代表有人坐在第 i 個(gè)座位上,s的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
大荔县| 和田市| 亚东县| 温宿县| 赤城县| 屏东市| 尼木县| 林口县| 阿城市| 淅川县| 台州市| 台北县| 革吉县| 晋城| 乐业县| 安溪县| 达尔| 桦甸市| 陆良县| 江达县| 司法| 乐昌市| 牙克石市| 天水市| 陇西县| 河北省| 平舆县| 沽源县| 侯马市| 雷州市| 泰兴市| 黄平县| 焦作市| 三穗县| 宣恩县| 治多县| 彰武县| 中牟县| 襄汾县| 岳普湖县| 奉贤区|