AdvancedAlgorithms.Taxi.GetMaximumCardinality C# (CSharp) Method

GetMaximumCardinality() private static method

private static GetMaximumCardinality ( Node nodes, int m, int n ) : int
nodes Node
m int
n int
return int
        private static int GetMaximumCardinality(Node[] nodes, int m, int n)
        {
            //stuffed up, taxis need to be on the left, people on right
            //of bipartite, reverse and swap m and n to fix
            nodes = nodes.Reverse().ToArray();

            int cardinality = 0;

            for (int leftNodeNum = 0; leftNodeNum < n; leftNodeNum++)
            {
                Node leftNode = nodes[leftNodeNum];

                //set all the right vertexes to falses
                for (int rightNodeNum = n; rightNodeNum < nodes.Length; rightNodeNum++)
                {
                    nodes[rightNodeNum].Visited = false;
                }

                if (FindAugmentingPath(leftNode))
                {
                    cardinality++;
                }

            }
            return cardinality;
        }