端点特殊情况判断--便池(605. 种花问题)

class Solution {
    public boolean canPlaceFlowers(int[] f, int n) {
        int m = f.length;
        int ans = 0;
        //一直不会考虑的就是除了正常情况下,i的左右都是0 那么咋判断左端点与右端点? 看见一位大佬的!
        for(int i = 0;i < m; i++){
            // 同时判断正常情况与特殊情况
            if((i == 0 || f[i - 1] == 0) && f[i] == 0 && (i == m - 1 || f[i + 1] == 0)){
                ans++;
                f[i] = 1;
            }
        }
        return ans >= n;
    }
}
 

你可能感兴趣的:(算法笔记,算法,数据结构,leetcode)