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;
}
};