Skip to content

Commit

Permalink
Stacks : Stock span problem
Browse files Browse the repository at this point in the history
Stacks : Stock span problem
  • Loading branch information
hraverkar committed Mar 31, 2019
1 parent 849deeb commit 93de734
Showing 1 changed file with 45 additions and 0 deletions.
45 changes: 45 additions & 0 deletions FindSpanUsingStack
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
using System;
using System.Collections.Generic;


namespace ConsoleApplication32
{
internal static class Program
{
public static void Main(string[] args)
{
var array = new int[] {100,60,70,65,80,85};
var length = array.Length;
var t= GetMaximumArea(array, length);
foreach (var variable in t)
{
Console.WriteLine(variable);
}

}

private static IEnumerable<int> GetMaximumArea(IReadOnlyList<int> array, int length)
{
var stack = new Stack<int>();
var span = new int[length];

span[0] = 1;
stack.Push(0);
for (var i = 1; i <length; i++)
{
while (stack.Count != 0 && array[i] > array[stack.Peek()])

stack.Pop();
if (stack.Count == 0)
span[i] = i + 1;
else
{
span[i] = i - stack.Peek();
}
stack.Push(i);
}

return span;
}
}
}

0 comments on commit 93de734

Please sign in to comment.