static int MaxLoot(int[] A, int n)
        {
            int[] S = new int[n];
            S[0] = A[0];
            S[1] = A[1];
            S[2] = S[0] + A[2];


            int maxloot = Math.Max(S[1], S[2]);



            for (int i = 3; i < n; i++)
            {
                S[i] = Math.Max(S[i - 2], S[i - 3]) + A[i];
                maxloot = Math.Max(maxloot, S[i]);
            }



            return maxloot;
        }

On Jan 20, 7:30 pm, Manmeet Singh <mans.aus...@gmail.com> wrote:
> It can be done in O(n) space too using DP :) :).
> U dont need that flag, but that solution u said is absolutely correct.
>
>
>
>
>
>
>
> On Thu, Jan 20, 2011 at 7:27 PM, Decipher <ankurseth...@gmail.com> wrote:
> > There is a row of houses in which each house contains some amount of money.
> > Write an algorithm that loots the maximum amount of money from these houses.
> > The only restriction is that you cannot loot two houses that are directly
> > next to each other.
>
> >  --
> > 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<algogeeks%2Bunsubscribe@googlegroups 
> > .com>
> > .
> > For more options, visit this group at
> >http://groups.google.com/group/algogeeks?hl=en.

-- 
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