*@Dave  while( arr[--size] != elem );*

*Exception will come when it will encounter a[-1]*
*i dont know if this loop will ever end... very poor solution i will say
*
On Sat, Oct 6, 2012 at 10:00 PM, Umer Farooq <the.um...@gmail.com> wrote:

> Well actually, I've just gone through Dave's code thoroughly and I believe
> that his code is most appropriate.
>
> Thanks viper11 for providing the explanation.
>
> As for my code, I'd like to replace
>
> while (i!=j)
>
> with
>
> while (i < j)
>
> because != won't work for middle element if the number of elements are odd
> ... and it also won't work if the number of elements are even.
>
> Anyway, thanks Dave for providing us with such a great solution. Please
> keep posting! :-)
>
> And others, thanks for pointing out the issue in my code.
>
> On Sat, Oct 6, 2012 at 9:03 PM, Kalidhakani J <kanikali...@gmail.com>wrote:
>
>> @umer - what if the element to be searched is at the middle of the array?
>> your code doesn't handles this. check out.
>>
>>
>> On Sat, Oct 6, 2012 at 3:38 AM, icy` <vipe...@gmail.com> wrote:
>>
>>> nice solution, Dave!
>>>
>>> @Umer -- if the sought ele is first, then Dave's code has it sitting in
>>> the variable temp for a little while.   Loop will stop when size is 0,
>>> since arr[0]==elem.  Now he throws temp back into arr[0], which will return
>>> index 0 from the last compare line.
>>>
>>> On Wednesday, October 3, 2012 2:08:56 AM UTC-4, Umer Farooq wrote:
>>>>
>>>> @Dave Thanks for pointing that out.
>>>>
>>>> But I still can't get what if elem is on first element or it is not
>>>> present in the array? How is your code going to handle that situation?
>>>>
>>>> @Atul, Well yes, In the given question, the number of iterations were
>>>> 2n. Which I have reduced to n+n/2.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On Tue, Oct 2, 2012 at 11:13 PM, atul anand <atul.8...@gmail.com>wrote:
>>>>
>>>>> @umer : how no. of comparison are reduced to half by moving both
>>>>> sides....you have 2 if condition inside, so you are making 2
>>>>> comparisons at each iteration + n/2 comparison for while loop so
>>>>> number of comparisons are n+n/2
>>>>>
>>>>> On 10/2/12, Umer Farooq <the....@gmail.com> wrote:
>>>>> > why don't we try it from both ends ... something like this:
>>>>> >
>>>>> > int i = 0; j = size-1;
>>>>> >
>>>>> > while (i != j)
>>>>> > {
>>>>> >     if (arr[i] == elem)
>>>>> >           return arr[i];
>>>>> >     if (arr[j] == elem)
>>>>> >            return arr[j];
>>>>> > }
>>>>> >
>>>>> > this way, we have eliminated half of the comparisons in for loop?
>>>>> What do
>>>>> > you guys say?
>>>>> >
>>>>> > On Tue, Oct 2, 2012 at 12:18 PM, rafi <rafiw...@gmail.com> wrote:
>>>>> >
>>>>> >> Vikas is right!
>>>>> >> while (n) is equal to (while n!=0)
>>>>> >> you have 2n compares!
>>>>> >>
>>>>> >> בתאריך יום שני, 1 באוקטובר 2012 12:12:21 UTC+2, מאת vikas:
>>>>> >>
>>>>> >>> still there is no improvement, compiler will generate the code to
>>>>> >>> compare
>>>>> >>> with zero here. what you have accomplished is , hide it from human
>>>>> eyes
>>>>> >>>
>>>>> >>> On Monday, 1 October 2012 15:25:09 UTC+5:30, Navin Kumar wrote:
>>>>> >>>>
>>>>> >>>> @atul:
>>>>> >>>> still it won't compare 0 th element. Slight modification in your
>>>>> code:
>>>>> >>>>
>>>>> >>>> n=*sizeof(arr)*;
>>>>> >>>> do
>>>>> >>>> {
>>>>> >>>>      if(elem==arr[*--n*])
>>>>> >>>>          print found;
>>>>> >>>>
>>>>> >>>> }while(n);
>>>>> >>>>
>>>>> >>>> On Mon, Oct 1, 2012 at 9:50 AM, atul anand <atul.8...@gmail.com>
>>>>> wrote:
>>>>> >>>>
>>>>> >>>>> yes, but there no need of checking outside the loop
>>>>> >>>>>
>>>>> >>>>> n=sizeof(arr)-1;
>>>>> >>>>> do
>>>>> >>>>> {
>>>>> >>>>>      if(elem==arr[n])
>>>>> >>>>>          print found;
>>>>> >>>>>     n--;
>>>>> >>>>>
>>>>> >>>>> }while(n);
>>>>> >>>>>
>>>>> >>>>>
>>>>> >>>>>
>>>>> >>>>> On Mon, Oct 1, 2012 at 9:33 AM, Navin Kumar
>>>>> >>>>> <algorit...@gmail.com>wrote:
>>>>> >>>>>
>>>>> >>>>>> @atul: keep one more checking outside loop for element at 0 th
>>>>> index.
>>>>> >>>>>> Because when n = 0  the your loop come out from the loop without
>>>>> >>>>>> comparing
>>>>> >>>>>> it.
>>>>> >>>>>>
>>>>> >>>>>>
>>>>> >>>>>> On Mon, Oct 1, 2012 at 8:55 AM, atul anand
>>>>> >>>>>> <atul.8...@gmail.com>wrote:
>>>>> >>>>>>
>>>>> >>>>>>> n=sizeof(arr);
>>>>> >>>>>>> n--;
>>>>> >>>>>>>
>>>>> >>>>>>> while(n)
>>>>> >>>>>>> {
>>>>> >>>>>>>      if(elem=arr[n])
>>>>> >>>>>>>           print found;
>>>>> >>>>>>>
>>>>> >>>>>>> n--;
>>>>> >>>>>>>
>>>>> >>>>>>> }
>>>>> >>>>>>>
>>>>> >>>>>>> On Sun, Sep 30, 2012 at 2:56 PM, רפי וינר <rafiw...@gmail.com>
>>>>> >>>>>>> wrote:
>>>>> >>>>>>>
>>>>> >>>>>>>> Hi
>>>>> >>>>>>>> i was in an interview and was given a simple function
>>>>> >>>>>>>> int arrExsits(int* arr,int size,int elem){
>>>>> >>>>>>>> for (int i=0;i<size;++i)
>>>>> >>>>>>>>     if(elem==arr[i])
>>>>> >>>>>>>>        return i;
>>>>> >>>>>>>> return -1;
>>>>> >>>>>>>> }
>>>>> >>>>>>>> this function does 2n compares
>>>>> >>>>>>>> n- the if statment
>>>>> >>>>>>>> n-check that i is smaller then size
>>>>> >>>>>>>> i was suppose to give an optimal (less compares) solution so
>>>>> i gave
>>>>> >>>>>>>>
>>>>> >>>>>>>> int arrExsits(int* arr,int size,int elem){
>>>>> >>>>>>>> if (arr[size-1]==elem)
>>>>> >>>>>>>>     return size-1;
>>>>> >>>>>>>> arr[size-1]=elem]
>>>>> >>>>>>>> for (int i=0;;++i)
>>>>> >>>>>>>>     if(elem==arr[i]){
>>>>> >>>>>>>>         if (i!=size-1)
>>>>> >>>>>>>>             return i;
>>>>> >>>>>>>> return -1;
>>>>> >>>>>>>> }
>>>>> >>>>>>>> this solution works and it has n+2 compares the first one
>>>>> another n
>>>>> >>>>>>>> and the second inner if.
>>>>> >>>>>>>> they told me it's good (and I've passed) but they told just
>>>>> for my
>>>>> >>>>>>>> knowledge that there is a better N compare solution.
>>>>> >>>>>>>> I've searched the web but couldn't find it.
>>>>> >>>>>>>> anybody knows?
>>>>> >>>>>>>> Thanks
>>>>> >>>>>>>>
>>>>> >>>>>>>> --
>>>>> >>>>>>>> You received this message because you are subscribed to the
>>>>> Google
>>>>> >>>>>>>> Groups "Algorithm Geeks" group.
>>>>> >>>>>>>> To post to this group, send email to algo...@googlegroups.com
>>>>> .
>>>>> >>>>>>>> To unsubscribe from this group, send email to
>>>>> >>>>>>>> algogeeks+...@googlegroups.com****.
>>>>> >>>>>>>> For more options, visit this group at
>>>>> http://groups.google.com/**
>>>>> >>>>>>>> group/algogeeks?hl=en<http://**groups.google.com/group/**
>>>>> algogeeks?hl=en <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 algo...@googlegroups.com.
>>>>> >>>>>>> To unsubscribe from this group, send email to
>>>>> >>>>>>> algogeeks+...@googlegroups.com****.
>>>>> >>>>>>> For more options, visit this group at
>>>>> http://groups.google.com/**
>>>>> >>>>>>> group/algogeeks?hl=en<http://**groups.google.com/group/**
>>>>> algogeeks?hl=en <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 algo...@googlegroups.com.
>>>>> >>>>>> To unsubscribe from this group, send email to
>>>>> >>>>>> algogeeks+...@googlegroups.com****.
>>>>> >>>>>> For more options, visit this group at
>>>>> http://groups.google.com/**
>>>>> >>>>>> group/algogeeks?hl=en
>>>>> >>>>>> <http://groups.google.com/**group/algogeeks?hl=en<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 algo...@googlegroups.com.
>>>>> >>>>> To unsubscribe from this group, send email to
>>>>> >>>>> algogeeks+...@googlegroups.com****.
>>>>> >>>>> For more options, visit this group at
>>>>> http://groups.google.com/**
>>>>> >>>>> group/algogeeks?hl=en
>>>>> >>>>> <http://groups.google.com/**group/algogeeks?hl=en<http://groups.google.com/group/algogeeks?hl=en>
>>>>> >.
>>>>> >>>>>
>>>>> >>>>
>>>>> >>>>  --
>>>>> >> You received this message because you are subscribed to the Google
>>>>> Groups
>>>>> >> "Algorithm Geeks" group.
>>>>> >> To view this discussion on the web visit
>>>>> >> https://groups.google.com/d/**msg/algogeeks/-/SwuLNscTCOoJ<https://groups.google.com/d/msg/algogeeks/-/SwuLNscTCOoJ>
>>>>> .
>>>>> >>
>>>>> >> To post to this group, send email to algo...@googlegroups.com.
>>>>> >> To unsubscribe from this group, send email to
>>>>> >> algogeeks+...@**googlegroups.com.
>>>>> >> For more options, visit this group at
>>>>> >> http://groups.google.com/**group/algogeeks?hl=en<http://groups.google.com/group/algogeeks?hl=en>
>>>>> .
>>>>> >>
>>>>> >
>>>>> >
>>>>> >
>>>>> > --
>>>>> > Umer
>>>>> >
>>>>> > --
>>>>> > You received this message because you are subscribed to the Google
>>>>> Groups
>>>>> > "Algorithm Geeks" group.
>>>>> > To post to this group, send email to algo...@googlegroups.com.
>>>>> > To unsubscribe from this group, send email to
>>>>> > algogeeks+...@**googlegroups.com.
>>>>> > For more options, visit this group at
>>>>> > http://groups.google.com/**group/algogeeks?hl=en<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 algo...@googlegroups.com.
>>>>> To unsubscribe from this group, send email to algogeeks+...@**
>>>>> googlegroups.com.
>>>>> For more options, visit this group at http://groups.google.com/**
>>>>> group/algogeeks?hl=en <http://groups.google.com/group/algogeeks?hl=en>
>>>>> .
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Umer
>>>>
>>>  --
>>> You received this message because you are subscribed to the Google
>>> Groups "Algorithm Geeks" group.
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msg/algogeeks/-/MCOQyzdtcAMJ.
>>> 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.
>>
>
>
>
> --
> Umer
>
> --
> 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.
>



-- 
Mangal Dev
Ph No. 7411627654
Member Technical Staff
Oracle India Pvt Ltd
mangal....@oracle.com <mangal.d...@oracle.com>

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