One way could be sorting the array and also storing the original index
along with that. After that we can search linearly in the array.

On Nov 23, 5:40 am, Anup Ghatage <ghat...@gmail.com> wrote:
> What do you mean by "  if this number is less than elements  stored in
> stack "
> There have be N comparisons in the worst case. And that way, you have to do
> it for every element.
> So it will be governed by O(n^2)
>
>
>
>
>
>
>
>
>
> On Wed, Nov 23, 2011 at 12:50 AM, Aamir Khan <ak4u2...@gmail.com> wrote:
>
> > On Tue, Nov 22, 2011 at 11:50 PM, tech coder 
> > <techcoderonw...@gmail.com>wrote:
>
> >> here is an O(n) approach  using  a stack.
>
> >> problem can be stated as " find the 1st smaller element on the right.
>
> >> put the first element in stack.
> >> take next element suppose "num"  if this number is less than elements
> >>  stored in stack, pop those elements , for these pooped elements  num will
> >> be the required number.
> >> put the the element (num)   in stack.
>
> >> repeat this.
>
> >> at last the elements which are in next , they will have 0 (valaue)
>
> >> @techcoder : If the numbers are not in sorted order, What benefit the
> > stack would provide ? So, are you storing the numbers in sorted order
> > inside the stack ?
>
> >  I can think of this solution :
>
> > Maintain a stack in which the elements will be stored in sorted order. Get
> > a new element from array and lets call this number as m. Push m into the
> > stack. Now, find all elements which are <= (m-1) using binary search. Pop
> > out all these elements and assign the value m in the output array. Elements
> > remaining at the end will have the value 0.
>
> > I am not sure about the complexity of this algorithm...
>
> >> On Wed, Nov 23, 2011 at 12:02 AM, Anup Ghatage <ghat...@gmail.com> wrote:
>
> >>> I can't think of a better than O(n^2) solution for this..
> >>> Any one got anything better?
>
> >>> On Tue, Nov 22, 2011 at 8:23 PM, Ankuj Gupta <ankuj2...@gmail.com>wrote:
>
> >>>> Input: A unsorted array of size n.
> >>>> Output: An array of size n.
>
> >>>> Relationship:
>
> >>>> > elements of input array and output array have 1:1 correspondence.
> >>>> > output[i] is equal to the input[j] (j>i) which is smaller than
> >>>> input[i] and jth is nearest to ith ( i.e. first element which is 
> >>>> smaller).
> >>>> > If no such element exists for Input[i] then output[i]=0.
>
> >>>> Eg.
> >>>> Input: 1 5 7 6 3 16 29 2 7
> >>>> Output: 0 3 6 3 2 2 2 0 0
>
> >>>> --
> >>>> You received this message because you are subscribed to the Google
> >>>> Groups "Algorithm Geeks" group.
> >>>> To post to this group, send email to algogeeks@googlegroups.com.
> >>>> To unsubscribe from this group, send email to
> >>>> algogeeks+unsubscr...@googlegroups.com.
> >>>> For more options, visit this group at
> >>>>http://groups.google.com/group/algogeeks?hl=en.
>
> >>> --
> >>> Anup Ghatage
>
> >>>  --
> >>> You received this message because you are subscribed to the Google
> >>> Groups "Algorithm Geeks" group.
> >>> To post to this group, send email to algogeeks@googlegroups.com.
> >>> To unsubscribe from this group, send email to
> >>> algogeeks+unsubscr...@googlegroups.com.
> >>> For more options, visit this group at
> >>>http://groups.google.com/group/algogeeks?hl=en.
>
> >> --
> >> *
>
> >>  Regards*
> >> *"The Coder"*
>
> >> *"Life is a Game. The more u play, the more u win, the more u win , the
> >> more successfully u play"*
>
> >>  --
> >> You received this message because you are subscribed to the Google Groups
> >> "Algorithm Geeks" group.
> >> To post to this group, send email to algogeeks@googlegroups.com.
> >> To unsubscribe from this group, send email to
> >> algogeeks+unsubscr...@googlegroups.com.
> >> For more options, visit this group at
> >>http://groups.google.com/group/algogeeks?hl=en.
>
> > --
> > Aamir Khan | 3rd Year  | Computer Science & Engineering | IIT Roorkee
>
> >  --
> > You received this message because you are subscribed to the Google Groups
> > "Algorithm Geeks" group.
> > To post to this group, send email to algogeeks@googlegroups.com.
> > To unsubscribe from this group, send email to
> > algogeeks+unsubscr...@googlegroups.com.
> > For more options, visit this group at
> >http://groups.google.com/group/algogeeks?hl=en.
>
> --
> Anup Ghatage

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to algogeeks@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to