1. 题目来源
2. 题目说明
3. 题目解析
方法一:暴力+常规解法
题意很明确。在此可以暴力扫描判断相邻的 1 间隔是否大于等于 k
,顺便用一下对偶原则,若出现一个相邻 1 间隔小于 k
的话就返回 false
,最终返回 true
。
参见代码如下:
// 执行用时 :184 ms, 在所有 C++ 提交中击败了100.00%的用户
// 内存消耗 :57.7 MB, 在所有 C++ 提交中击败了100.00%的用户
class Solution {
public:
bool kLengthApart(vector<int>& nums, int k) {
int cur = k;
for (auto e : nums) {
if (e == 0) {
++cur;
} else {
if (cur < k) return false;
cur = 0;
}
}
return true;
}
};