Saturday, January 29, 2022

Get kpc

 


import java.util.ArrayList;

public class GetKpc {
static String[] codes = {".;", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tu", "vwx", "yz"};

public static void main(String[] args) {
String str = "12";
ArrayList<String> ans = getKPC(str);
System.out.println(ans);
}

private static ArrayList<String> getKPC(String str) {
// base case
if (str.length() == 0) {
ArrayList<String> rem = new ArrayList<>();
rem.add("");
return rem;
}

int firstNum = str.charAt(0) - '0';
String firstValue = codes[firstNum];

String remString = str.substring(1);

// faith
ArrayList<String> faith = getKPC(remString);

// expectation meet faith
ArrayList<String> ans = new ArrayList<>();
for (String f : faith) {
for (int i = 0; i < firstValue.length(); i++) {
ans.add(firstValue.charAt(i) + f);
}
}

return ans;
}

}

No comments:

Post a Comment

Diagonal Traversal

 eg.  1       2       3       4 5      6       7       8 9    10    11     12 13  14   15    16 Output: 1 6 11 16 2 7 12 3 8 4  Approach:...