private void button8_Click(object sender, EventArgs e) { //http://www.geeksforgeeks.org/dynamic-programming-set-27-max-sum-rectangle-in-a-2d-matrix/ //and also in gayle book //construct a square int[,] matrix = new int[, ] { { 2, -1, -4, -20 }, { -3, 4, 2, 1 }, { 8, 10, 1, 3 }, { -1, 1, 7, -6 } }; var result = SubArraySum.MaxSubMatrixWithIndex(matrix); //var result = SubArraySum.MaxSubMatrix(matrix); StringBuilder sb = new StringBuilder(); if (result != null) { sb.Append("Row: ").Append(result.RowStart).Append(" , "); sb.Append("Col: ").Append(result.ColStart).Append(" , "); sb.Append("Size: ").Append(result.RowEnd - result.RowStart + 1).Append(" , "); sb.Append("Sum : ").Append(result.Sum); } else { sb.Append("No squares found"); } this.textBox6.Text = sb.ToString(); }
public void TestingMaxSubArraySumSlidingWindow(int[] arr, int n, int expected) { var subArraySum = new SubArraySum(); var result = subArraySum.MaxSubArraySumSlidingWindow(arr, n); Assert.AreEqual(expected, result); }
private void button7_Click(object sender, EventArgs e) { int[] input = AlgorithmHelper.ConvertCommaSeparetedStringToInt(this.textBox11.Text); //SequenceSum result = FindMaxSumAndSequenceWithAllNegativeHandle(input); //bad test case //input = new int[]{-2,-1,-5,-8,-3}; Puzzles.DataStructures.Array.SubArraySum.SubArrayResult result = SubArraySum.maxsubArrayWithIndex(input); this.textBox10.Text = result.Sum.ToString(); StringBuilder sb = new StringBuilder(); for (int i = result.StartIndex; i <= result.EndIndex; i++) { sb.Append(input[i]).Append(','); } this.textBox12.Text = sb.ToString(); }