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.