public void PermutationsWithDuplicatesResultsInSucess() { int[] nums = new int[] { 1, 1, 2 }; var expectedResult = new List <IList <int> >() { new List <int>() { 1, 1, 2 }, new List <int>() { 1, 2, 1 }, new List <int>() { 2, 1, 1 } }; var result = new PermutationsWithDuplicates().PermuteUnique(nums); var areEqual = CollectionsAreEqual.AreEqualListOfLists <int>(result, (IList <IList <int> >)expectedResult); Assert.IsTrue(areEqual); }
public void GroupAnagramSuccess() { string[] input = new string[] { "eat", "tea", "tan", "ate", "nat", "bat" }; var expectedResult = new List <IList <string> >() { new List <string>() { "eat", "tea", "ate" }, new List <string>() { "tan", "nat" }, new List <string>() { "bat" } }; var result = new GroupAnagramsSolution().GroupAnagrams(input); var isEqual = CollectionsAreEqual.AreEqualListOfLists(result, expectedResult); Assert.IsTrue(isEqual); }
public void BFSTraversalIterativeSuccess() { TreeNode root = new TreeNode(3); var node9 = root.Left = new TreeNode(9); var node20 = root.Right = new TreeNode(20); node20.Left = new TreeNode(15); node20.Right = new TreeNode(7); var expectedResult = new List <List <int> >() { new List <int>() { 3 }, new List <int>() { 9, 20 }, new List <int>() { 15, 7 }, }; var result = (List <List <int> >) new BFSTraversal().LevelOrder(root); var areEqual = CollectionsAreEqual.AreEqualListOfLists(result, expectedResult); }
public void VerticalOrderTraversalWhenSingleNodeResultsInSuccess() { TreeNode node = new TreeNode(1); var result = new BinaryTreeVerticalOrderTraversal().VerticalOrder(node); var expectedResult = new List <List <int> >() { new List <int> { 1 } }; var areEqual = CollectionsAreEqual.AreEqualListOfLists(result, expectedResult); Assert.IsTrue(areEqual); }
public void SubsSetTestsResultsInSucess() { int[] nums = new int[] { 1, 2, 3 }; var expectedResult = new List <IList <int> >() { new List <int>(), new List <int>() { 1 }, new List <int>() { 2 }, new List <int>() { 3 }, new List <int>() { 1, 2 }, new List <int>() { 1, 3 }, new List <int>() { 2, 3 }, new List <int>() { 1, 2, 3 } }; var result = new SubSet().Subsets(nums); var areEqual = CollectionsAreEqual.AreEqualListOfLists <int>(result, (IList <IList <int> >)expectedResult); Assert.IsTrue(areEqual); }
public void TravesalSuccess() { TreeNode node3 = new TreeNode(3); TreeNode node9 = new TreeNode(9); TreeNode node20 = new TreeNode(20); TreeNode node15 = new TreeNode(15); TreeNode node7 = new TreeNode(7); node3.left = node9; node3.right = node20; node20.left = node15; node20.right = node7; List <IList <int> > expectedResult = new List <IList <int> >() { new List <int>() { 3 }, new List <int>() { 20, 9 }, new List <int>() { 15, 7 } }; var result = new ZigzagTraversal().ZigzagLevelOrder(node3); var areEqual = CollectionsAreEqual.AreEqualListOfLists(result, expectedResult); Assert.IsTrue(areEqual); }
public void VerticalOrderTraversalResultsInSuccess() { var treeNode3 = new TreeNode(3); var treeNode9 = new TreeNode(9); var treeNode20 = new TreeNode(20); var treeNode15 = new TreeNode(15); var treeNode7 = new TreeNode(7); treeNode3.Left = treeNode9; treeNode3.Right = treeNode20; treeNode20.Left = treeNode15; treeNode20.Right = treeNode7; var expectedResult = new List <List <int> >() { new List <int> { 9 }, new List <int> { 3, 15 }, new List <int> { 20 }, new List <int> { 7 } }; var result = new BinaryTreeVerticalOrderTraversal().VerticalOrder(treeNode3); var areEqual = CollectionsAreEqual.AreEqualListOfLists(result, expectedResult); Assert.IsTrue(areEqual); }