good one On Tue, Sep 13, 2011 at 2:37 PM, kARTHIK R <k4rth...@gmail.com> wrote:
> Nice one sagar. > Karthik R, > R&D Engineer, > Tejas Networks. > > > > On Tue, Sep 13, 2011 at 2:36 PM, sagar sindwani > <sindwani.sa...@gmail.com>wrote: > >> >> http://stackoverflow.com/questions/3963409/interview-question-dealing-with-m-occurrences-among-n >> >> >> On Tue, Sep 13, 2011 at 1:48 PM, Gene <gene.ress...@gmail.com> wrote: >> >>> Here's a way: >>> >>> The base 2 xor operator has an obvious extension to base 3 such that >>> for all integers N, N ^ N ^ N = 0, just like the normal xor has N ^ >>> N = 0. >>> >>> This base 3 operator a^b just adds corresponding digit pairs of a and >>> b mod 3 to get the digits of the result. >>> >>> So the algorithm is to convert each input number to base 3 and tally >>> up the total with the base 3 ^ operator. The result will be the >>> answer in base 3. >>> >>> The example above in base 3 is >>> 2,1,11,12,1,11,2,2,11,1 >>> >>> Running total with ^: >>> >>> 0 ^ 2 = 2 >>> 2 ^ 1 = 0 >>> 0 ^ 11 = 11 >>> 11 ^ 12 = 20 >>> 20 ^ 1 = 21 >>> 21 ^ 11 = 2 >>> 2 ^ 2 = 1 >>> 1 ^ 2 = 0 >>> 0 ^ 11 = 11 >>> 11 ^ 1 = 12 >>> >>> And 12 is 5 base 3. >>> >>> The total will never have more digits than the biggest number. This >>> is O(1) space. You have to assume base 3 conversion is a constant >>> time operation, but this is pretty reasonable. >>> >>> If the problem changes to "all the numbers are repeated K times except >>> for one, which appears only once, you can do the same thing with base >>> K to get the answer. >>> >>> On Sep 11, 2:10 pm, Neha Singh <neha.ndelhi.1...@gmail.com> wrote: >>> > You are given an array that contains integers. The integers content is >>> such >>> > that every integer occurs 3 times in that array leaving one integer >>> that >>> > appears only once. >>> > Fastest way to find that single integer >>> > eg: >>> > Input: [2,1,4,5,1,4,2,2,4,1] >>> > Answer: 5 >>> > >>> > The solution must be of O(n) time and O(1) 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. >>> >>> >> -- >> 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.