11 lines
		
	
	
		
			256 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			11 lines
		
	
	
		
			256 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| var _ = require("../lodash");
 | |
| var tarjan = require("./tarjan");
 | |
| 
 | |
| module.exports = findCycles;
 | |
| 
 | |
| function findCycles(g) {
 | |
|   return _.filter(tarjan(g), function(cmpt) {
 | |
|     return cmpt.length > 1 || (cmpt.length === 1 && g.hasEdge(cmpt[0], cmpt[0]));
 | |
|   });
 | |
| }
 |