Question: Suppose you represent every number with a character like
0 –> a, 1 –> b, 2 –> c, ………………24 –> y, 25 –> z
Now given a number, give words combinations for it.
Example: 1234
=> 1-2-3-4, 12-2-4, 1-23-4
=> bcde, mde, bxe
Java code for simple backtracking approach :
public class CharCombinationWithNumbers {
private static char[] alphabet = "abcdefghijklmnopqrstyuvxyz".toCharArray();
public static void main(String[] args) {
printPossibilities("", "1234");
}
private static void printPossibilities(String partialString, String string) {
if (string == null || string.length() < 1) {
System.out.println(partialString);
return;
}
int digit = Integer.parseInt(string.substring(0, 1));
printPossibilities(partialString + alphabet[digit], string.substring(1));
if (string.length() > 1) {
digit = Integer.parseInt(string.substring(0, 2));
if (digit >= 10 && digit < alphabet.length) {
printPossibilities(partialString + alphabet[digit], string
.substring(2));
}
}
}
}
Refer : http://tech-queries.blogspot.com/2011/03/character-combination-for-numbers.html
No comments:
Post a Comment