leetcode 剑指offerII 115 重建序列
作者:互联网
思路:
拓扑排序。
实现:
1 class Solution { 2 public: 3 bool sequenceReconstruction(vector<int>& a, vector<vector<int>>& s) { 4 int n=a.size(),m=s.size(); 5 vector<int>in(n+1,0); 6 vector<vector<int>>g(n+1,vector<int>()); 7 for(int i=0;i<m;i++){ 8 for(int j=1;j<s[i].size();j++){ 9 int x=s[i][j-1],y=s[i][j]; 10 in[y]++; 11 g[x].push_back(y); 12 } 13 } 14 queue<int>q; 15 for(int i=1;i<=n;i++){ 16 if(in[i]==0){ 17 q.push(i); 18 } 19 } 20 while(!q.empty()){ 21 if(q.size()>1){ 22 return false; 23 } 24 int tmp=q.front();q.pop(); 25 for(int i=0;i<g[tmp].size();i++){ 26 int to=g[tmp][i]; 27 in[to]--; 28 if(in[to]==0){ 29 q.push(to); 30 } 31 } 32 } 33 return true; 34 35 } 36 };
标签:offerII,vectorin,int,pop,115,iq,vector,leetcode,size 来源: https://www.cnblogs.com/wangyiming/p/16511230.html