849 到最近的人的最大距離

2021-08-22 16:36:23 字數 850 閱讀 5325

在一排座位( seats)中,1 代表有人坐在座位上,0 代表座位上是空的。

至少有乙個空座位,且至少有一人坐在座位上。

亞歷克斯希望坐在乙個能夠使他與離他最近的人之間的距離達到最大化的座位上。

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

示例 1:

輸入:[1,0,0,0,1,0,1]

輸出:2

解釋:如果亞歷克斯坐在第二個空位(seats

[2])上,他到離他最近的人的距離為 2 。

如果亞歷克斯坐在其它任何乙個空位上,他到離他最近的人的距離為 1 。

因此,他到離他最近的人的最大距離是 2 。

示例 2:

輸入:[1,0,0,0]

輸出:3

1 <= seats.length <= 20000

seats 中只含有 0 和 1,至少有乙個 0,且至少有乙個 1。

考慮三種情況,根據0的個數來計算,最左邊或最右邊有最多的連續0,那麼結果就是相應0的個數,如果連續0在中間,連續0位為偶數個,那麼個數/2就行,否則還要加上1。

class solution  else 

}res = max(cnt, res);

cnt = 0;

int j = n - 1;

for(; j >= 0; j--) else

}res = max(cnt, res);

cnt = 0;

while(i < j) else

if(cnt % 2 == 0) else

i++;

}return res;

}};

849 到最近的人的最大距離

在一排座位 seats 中,1 代表有人坐在座位上,0 代表座位上是空的。至少有乙個空座位,且至少有一人坐在座位上。亞歷克斯希望坐在乙個能夠使他與離他最近的人之間的距離達到最大化的座位上。返回他到離他最近的人的最大距離。示例 1 輸入 1,0,0,0,1,0,1 輸出 2 解釋 如果亞歷克斯坐在第二...

849 到最近的人的最大距離

題目 在一排座位 seats 中,1 代表有人坐在座位上,0 代表座位上是空的。至少有乙個空座位,且至少有一人坐在座位上。亞歷克斯希望坐在乙個能夠使他與離他最近的人之間的距離達到最大化的座位上。返回他到離他最近的人的最大距離。示例 1 輸入 1,0,0,0,1,0,1 輸出 2解釋 如果亞歷克斯坐在...

到最近的人的最大距離

在一排座位 seats 中,1 代表有人坐在座位上,0 代表座位上是空的。至少有乙個空座位,且至少有一人坐在座位上。亞歷克斯希望坐在乙個能夠使他與離他最近的人之間的距離達到最大化的座位上。返回他到離他最近的人的最大距離。示例 1 輸入 1,0,0,0,1,0,1 輸出 2 解釋 如果亞歷克斯坐在第二...