时间轴

2025-11-17

init


题目:


注意相隔的两个元素位置i,j相隔的元素为j-i-1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <vector>
using std::vector;

class Solution {
public:
bool kLengthApart(vector<int> &nums, int k)
{ //只需要判断相邻的是否至少相隔k个元素即可
int last = -1, i, n = nums.size();
// 找到第一个1
for (i = 0; i < n; i++) {
if (nums[i] == 1) {
last = i;
break;
}
}

if (last == -1) {
return true;
}
for (i = last + 1; i < n; i++) {
if (nums[i] == 1) {
if (i - last - 1 < k) {
return false;
} else {
last = i;
}
}
}
return true;
}
};