public void Test2() { var problem = new LargestRectangleInHistogram(); var input = new List <int> { 12, 43, 65, 76, 84, 29, 95, 12, 86, 93, 100, 34, 54, 92, 82, 21, 43 }; var expectedOutput = 258; var output = problem.Solve(input); Assert.AreEqual(expectedOutput, output); }
public void Test1() { var problem = new LargestRectangleInHistogram(); var input = new List <int> { 2, 1, 5, 6, 2, 3 }; var expectedOutput = 10; var output = problem.Solve(input); Assert.AreEqual(expectedOutput, output); }
public void LargetRectInHistogramNormalCase() { int[] testCase1 = new int[] { 2, 1, 5, 6, 2, 3 }; int[] testCase2 = new int[] { 2, 2, 2, 2, 2, 2 }; int[] testCase3 = new int[] { 2, 2, 2, 1, 2}; int[] testCase4 = new int[] { 2, 2, 1, 2, 2}; LargestRectangleInHistogram l = new LargestRectangleInHistogram(); Assert.AreEqual(l.LargestRectangleArea(testCase1), 10); Assert.AreEqual(l.LargestRectangleArea(testCase2), 12); Assert.AreEqual(l.LargestRectangleArea(testCase3), 6); Assert.AreEqual(l.LargestRectangleArea(testCase4), 5); }
public void TestLargestRectangleInHistogram() { var r = LargestRectangleInHistogram.Find(new[] { 2, 1, 5, 6, 2, 3 }); Assert.AreEqual(r, 10); r = LargestRectangleInHistogram.Find(new[] { 2, 1, 5, 6, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 5, 6, 7, 10000 }); Assert.AreEqual(r, 10000); r = LargestRectangleInHistogram.Find(new[] { 2, 1, 5, 6, 2, 50, 51, 54, 55, 3, 3, 3, 3, 3, 3, 4, 5, 6, 7, 190 }); Assert.AreEqual(r, 200); }