[LeetCode 周賽187] 2. 是否所有 1 都至少相隔 k 個元素(暴力、常規解法)

1. 題目來源

鏈接:5401. 是否所有 1 都至少相隔 k 個元素

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;
    }
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章