1042 LeetCode 不邻接植花

题目描述:
1042 LeetCode 不邻接植花_第1张图片

思路:
首先要记录下路径
然后再依次不相邻种花

代码如下:

class Solution {
public:
    vector<int> gardenNoAdj(int N, vector<vector<int>>& paths) {
        vector<int>answer(N,0);
        vector<vector<int>>connect(N+1);
        for(auto& p:paths){
            connect[p[0]].push_back(p[1]);
            connect[p[1]].push_back(p[0]);
        }
        for(int i=1;i<=N;i++){
            set<int>flower{1,2,3,4};
            for(auto j:connect[i]){
                flower.erase(answer[j-1]);
            }
            answer[i-1]=*flower.begin();
        }
        return answer;
    }
};

你可能感兴趣的:(leetcode)