I guess the problem could be modified for any 1..n where n is 2^m.
so say 1....32
or 1...64
Try it out. It still works! The time complexity in this case is O(log
n).


On Sep 14, 6:02 am, Dave <dave_and_da...@juno.com> wrote:
> @Bittu: First, it makes no sense to say O(n) when n is fixed. Second,
> if you know the solution, a program to print it out just consists of a
> printf statement, e.g.,
>
> printf("16, 9, 7, 2, 14, 11, 5, 4, 12, 13, 3, 6, 10, 15, 1, 8\n");
>
> plus whatever language stuff you need to get it to compile and run.
>
> Dave
>
> On Sep 14, 4:26 am, bittu <shashank7andr...@gmail.com> wrote:
>
>
>
>
>
>
>
> > @Dav....hw can u compute in contant time where  runing time dwepends
> > on elements of array e.g.
>
> > its has complexcity O(n)....  isn'tit..??????
>
> > import java.util.Arrays;
> > import java.util.LinkedList;
>
> > class SolutionFinder
> > {
> > public static void find(final LinkedList<Integer> remaining, final
> > LinkedList<Integer> found)
> > {
> > if (remaining.size() == 0) // We made it through the whole list, this
> > is a solution
> > {
> > for (final Integer curr : found)
> > {
> > System.out.printf("%d ", curr);}
> > }
>
> > else
> > {
> > for (int i = 0; i < remaining.size(); i++)
> > {
> > final Integer next = remaining.get(i);
>
> > System.out.print("next \t" + next);
>
> > int size=found.size()-1;
> > Integer fnd=found.get(size);//always return last
>
> > System.out.print("\t fnd \t" + fnd + "\n");
>
> > if (Arrays.asList(4, 9, 16, 25).contains(fnd+ next))
> > {
> > found.add(remaining.remove(i));
> > find(remaining, found);
> > remaining.add(i, found.remove(found.size() - 1));
>
> > }
> > }
> > }
> > }
>
> > public static void main(final String[] args)
> > {
> > final LinkedList<Integer> remaining = new LinkedList<Integer>();
> > final LinkedList<Integer> found = new LinkedList<Integer>();
> > for (int i = 1; i <= 15; i++)
> > {
> > remaining.add(i);}
>
> > found.add(16);
> > find(remaining, found);
>
> > }
> > }
>
> > Right me if i m wrong
>
> > Regard's
> > Shashank Mani Narayan " Don't Be Evil U Can Earn While U learn"
> > Computer Science & Engineering
> > Birla Institute of  Technology,Mesra
> > Cell No. +91-9166674831

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to algoge...@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