small correction

On Mon, May 23, 2011 at 9:46 PM, immanuel kingston <
kingston.imman...@gmail.com> wrote:

> A Recursive soln:
>
>
> NUM_PER_DIGIT = 3
> char c[][NUM_PER_DIGIT] = {"abc","def",...};
>
> char n[] = 2156169 (number is pressed);
> int k=7;
> char * s = (char *) malloc(sizeof(char) * k);
>
> void printAllCombinations (char c[][], char n[], int k, char *s, int count)
> {
>     if (count >= k - 1) {
>         s[k] = '\0';
>         print (s);
>     } else {
>         for (i =0; i< NUM_PER_DIGIT; i++) {
>             *s[i] = c[n[count]][i];*
>             printAllCombinations(c,n,k,s, count+1);
>         }
>     }
> }
> printAllCombinations (c,n,k,s,0);
>
> Please correct me if my understanding is wrong.
>
> Thanks,
> Immanuel
>
>
> On Mon, May 23, 2011 at 9:33 PM, immanuel kingston <
> kingston.imman...@gmail.com> wrote:
>
>> Extending the above soln:
>>
>> NUM_PER_DIGIT = 3
>> char c[][NUM_PER_DIGIT] = {"abc","def",...};
>>
>> char n[] = 2156169 (number is pressed);
>> int k=7;
>>
>> for i <-- 0 to  NUM_PER_DIGIT ^ k
>>     String s="";
>>     for j <-- 0 to k
>>         int index = getJthDigitinItotheBaseNumPerDigit(NUM_PER_DIGIT,i,j);
>> // ie get 1st digit in (022)3 returns 2
>>         s += c[n[j]][index];
>>     print(s);
>>
>>
>> Time Complexity: O((NUM_PER_DIGIT^k)*k^2);
>>
>>
>> On Mon, May 23, 2011 at 7:32 PM, anshu mishra 
>> <anshumishra6...@gmail.com>wrote:
>>
>>> the same question i have asked in microsoft interview. (if it is the same
>>> :P)
>>>
>>> for 12 perutation are (ad, ae, af, bd, be, bf, cd, ce ,cf);
>>> i have given them 3 solution(recusrsive, stack based) and the last one
>>> what they wanted.
>>>
>>> take a tertiary number(n) = 3^(number of digits) in case of 12 it is
>>> equals to 2;
>>>
>>> i m solving the save problem. assuming on every key there are only 2
>>> alphabets.
>>>
>>> char c[][2] = {ab , cd, ......};
>>>
>>> char n[] = 2156169 (number is pressed);
>>> so k = 7;
>>> for (i = 0; i < (1<<k); i++){
>>> string s = "";
>>>  for (j = 0; j < k; j++){
>>>  s += c[n[j]][i & (1<<j)]
>>> }
>>> print(s);
>>> }
>>>
>>> same logic u can use for tertiary too.
>>>
>>>  --
>>> 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