leetcode 1042. Flower Planting With No Adjacent
题意:给你一副地图,每个点不能和相邻的点的颜色相同。最多可以上四种颜色,保证一个点最多和三个点相邻。
思路:因为保证一个点最多和三个点相邻,那四个颜色刚好够用,简单模拟就好了。
代码:
class Solution {
public:vector<int> gardenNoAdj(int N, vector<vector<int>>& paths) {vector<int> edge[10010];for(int i=0;i<paths.size();i++){int x = paths[i][0];int y = paths[i][1];edge[x].push_back(y);edge[y].push_back(x);}vector<int> ans(N,0);for(int i=1;i<=N;i++){ans[i-1]=gao(edge[i],ans);}return ans;}int gao(vector<int> edge,vector<int> ans){for(int num=1;num<=4;num++){bool flag = false;for(int j=0;j<edge.size();j++){if(ans[edge[j]-1] == num){flag = true;break;}}if(flag == false)return num;}return 0;}
};