yes got it......thnx  :d

On Sun, Oct 21, 2012 at 4:19 PM, atul anand <atul.87fri...@gmail.com> wrote:

> @rahul : nope it wont work ......check for this input :-
>
> input = 1, 2,3,6,4 ,101, 6
>
> by removing  msis[i] < msis[j] + arr[i] condition then you are
> excluding the max sub-sequence found from j=0 to i.
>
>
> On 10/21/12, rahul sharma <rahul23111...@gmail.com> wrote:
> > but if there are -ve numbers then arr[i]>arr[j] only is sufficeient as it
> > become false....comment if wrng
> >
> > On Sat, Oct 20, 2012 at 11:59 PM, Saurabh Kumar
> > <srbh.ku...@gmail.com>wrote:
> >
> >> If your inputs are only positive numbers then that condition you pointed
> >> out is indeed redundant. But if you want your program to work for
> >> negative
> >> numbers as well, you need that condition.
> >> Also, you should initialize max = msis[0]; before running the loop for
> >> calculating 'max' :
> >>
> >>
> >> /* Pick maximum of all msis values */
> >>  max = msis[0];    for ( i = 0; i < n; i++ )
> >>        if ( max < msis[i] )
> >>           max = msis[i];
> >>
> >>
> >> On 20 October 2012 22:58, rahul sharma <rahul23111...@gmail.com> wrote:
> >>
> >>> http://www.geeksforgeeks.org/archives/19248
> >>>   /* Dynamic Programming implementation of Maximum Sum Increasing
> >>>     Subsequence (MSIS) problem */
> >>>  #include<stdio.h>
> >>>
> >>> /* maxSumIS() returns the maximum sum of increasing subsequence in
> arr[]
> >>> of
> >>>     size n */
> >>>  int maxSumIS( int arr[], int n )
> >>>  {
> >>>     int *msis, i, j, max = 0;
> >>>     msis = (int*) malloc ( sizeof( int ) * n );
> >>>
> >>>    /* Initialize msis values for all indexes */
> >>>     for ( i = 0; i < n; i++ )
> >>>        msis[i] = arr[i];
> >>>
> >>>    /* Compute maximum sum values in bottom up manner */
> >>>     for ( i = 1; i < n; i++ )
> >>>        for ( j = 0; j < i; j++ )
> >>>           if ( arr[i] > arr[j] && msis[i] < msis[j] + arr[i])
> >>>              msis[i] = msis[j] + arr[i];
> >>>
> >>>    /* Pick maximum of all msis values */
> >>>     for ( i = 0; i < n; i++ )
> >>>        if ( max < msis[i] )
> >>>           max = msis[i];
> >>>
> >>>    /* Free memory to avoid memory leak */
> >>>     free( msis );
> >>>
> >>>    return max;
> >>>  }
> >>>
> >>> /* Driver program to test above function */
> >>>  int main()
> >>>  {
> >>>    int arr[] = {1, 101, 2, 3, 100, 4, 5};
> >>>    int n = sizeof(arr)/sizeof(arr[0]);
> >>>    printf("Sum of maximum sum increasing subsequence is %d\n",
> >>>           maxSumIS( arr, n ) );
> >>>
> >>>   getchar();
> >>>    return 0;
> >>>  }
> >>>  I wana ask inner for loop has two conditons ...cant we remove
> condition
> >>> onryt of && operator.
> >>>  As miss[j] would containg arr[j]or arr[j]+somethng....if arr[i]>arr[j]
> >>> then miss[i] is always <miss[j]+arrp[i]
> >>>  so cant we remove second condtion of && operator???? plz correct if m
> >>> wrng
> >>>
> >>> --
> >>> 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.
> >>>
> >>
> >>  --
> >> 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.
> >>
> >
> > --
> > 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.
> >
> >
>
> --
> 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.
>
>

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