What's wrong with this?? for( i = 0 ; i < n ; ++i ) for( j = 0 ; j < m ; ++j ) if( a[i][j] != 0 ) a[i][0] = a[0][j] = 1; for( i = 0 ; i < n ; ++i ) for( j = 0 ; j < m ; ++j ) if( a[i][0] + a[0][j] != 0 ) a[i][j] = 1;
On Thu, Sep 1, 2011 at 5:45 AM, Dave <dave_and_da...@juno.com> wrote: > @Replying to my own posting: Propagating a[0][0] as in my most recent > post isn't correct. Gene is correct to have two flags that indicate > whether the first row and/or the first column are to be filled with > 1s. > > Dave > > On Aug 31, 7:01 pm, Dave <dave_and_da...@juno.com> wrote: > > @Icy: I forgot about a[0][0]. So I need to add a few lines at the end > > of my code, so that it becomes: > > > > for( i = 1 ; i < n ; ++i ) > > for( j = 1 ; j < m ; ++j ) > > if( a[i][j] != 0 ) > > a[i][0] = a[0][j] = 1; > > for( i = 1 ; i < n ; ++i ) > > for( j = 1 ; j < m ; ++j ) > > if( a[i][0] + a[0][j] != 0 ) > > a[i][j] = 1; > > // the following added to propogate a[0][0], if necessary. > > if( a[0][0] != 0 ) > > { > > for( i = 1 ; i < n ; ++i ) > > a[i][0] = 1; > > for( j = 1 ; j < m ; ++j ) > > a[0][j] = 1; > > > > } > > > > Dave > > > > On Aug 31, 5:12 pm, "icy`" <vipe...@gmail.com> wrote: > > > > > > > > > Dave has a nice idea but I cant get it to work =/ > > > [[1, 0, 0, 1], [0, 0, 1, 0], [0, 0, 0, 0]] original matrix > > > > > [[1, 0, 1, 1], [1, 1, 1, 1], [0, 0, 1, 1]] dave's > > > [[1, 1, 1, 1], [1, 1, 1, 1], [1, 0, 1, 1]] expected > > > > > Maybe I converted it wrong. My method was basically the same as > > > Anup's -- > > > 1st pass fill rows and convert 1's to 2's. > > > 2nd pass check for 2's and fill those columns. > > > > > But complexity seems to be n*m*m + n*m*n = nm^2 + mn^2 > > > which is about O(n^2 m^2) ? =/ > > > > > I would like to get Dave's to work =P > > > > > On Aug 31, 1:47 pm, siva viknesh <sivavikne...@gmail.com> wrote: > > > > > > @dave...additionally u ve to do this...checking the 1st row nd 1st > > > > column... > > > > > > if(a[0][0]) > > > > set both first row and first column; > > > > else > > > > for(i=1;i<n;i++) > > > > if(a[0][i]) > > > > set first row; > > > > else > > > > set first column; > > > > > > On Aug 31, 10:34 pm, siva viknesh <sivavikne...@gmail.com> wrote: > > > > > > > dave s algo is nice :) > > > > > > > On Aug 31, 10:09 pm, Dave <dave_and_da...@juno.com> wrote: > > > > > > > > @Ashima: Scan all but the first row and the first column. If > there is > > > > > > a 1 in a row, set the first element of that row to 1. If there is > a 1 > > > > > > in a column, set the first element of that column to zero. Now, > set > > > > > > any element in all but the first row and the first column of the > > > > > > matrix that has a 1 it the first element of its row or a 1 in its > > > > > > first element of its colunn to 1. > > > > > > > > Dave > > > > > > > > On Aug 31, 12:02 pm, "Ashima ." <ashima.b...@gmail.com> wrote: > > > > > > > > > @dave wats d logic behind ur code > > > > > > > > > Ashima > > > > > > > M.Sc.(Tech)Information Systems > > > > > > > 4th year > > > > > > > BITS Pilani > > > > > > > Rajasthan > > > > > > > > > On Wed, Aug 31, 2011 at 9:05 AM, Dave <dave_and_da...@juno.com> > wrote: > > > > > > > > @Manish: > > > > > > > > > > for( i = 1 ; i < n ; ++i ) > > > > > > > > for( j = 1 ; j < m ; ++j ) > > > > > > > > if( a[i][j] != 0 ) > > > > > > > > a[i][0] = a[0][j] = 1; > > > > > > > > for( i = 1 ; i < n ; ++i ) > > > > > > > > for( j = 1 ; j < m ; ++j ) > > > > > > > > if( a[i][0] + a[0][j] != 0 ) > > > > > > > > a[i][j] = 1; > > > > > > > > > > Dave > > > > > > > > > > On Aug 31, 8:40 am, manish kapur <manishkapur.n...@gmail.com> > wrote: > > > > > > > > > Input is a matrix of size n x m of 0s and 1s. > > > > > > > > > > > eg: > > > > > > > > > 1 0 0 1 > > > > > > > > > 0 0 1 0 > > > > > > > > > 0 0 0 0 > > > > > > > > > > > If a location has 1; make all the elements of that row and > column = 1. eg > > > > > > > > > > > 1 1 1 1 > > > > > > > > > 1 1 1 1 > > > > > > > > > 1 0 1 1 > > > > > > > > > > > Solution should be with Time complexity = O(n*m) and O(1) > extra space > > > > > > > > > > -- > > > > > > > > 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.-Hidequotedtext- > > > > > > > > > - Show quoted text -- Hide quoted text - > > > > > - Show quoted text -- Hide quoted text - > > > > - Show quoted text - > > -- > 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.