Facebook
From Round Giraffe, 2 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 71
  1. // "1234" "111" -> "1345"
  2. // "9" + "99"
  3.  
  4.  
  5. String sum(String s1, String s2) {
  6.   //Do the sum from right to left
  7.   int i = s1.length() - 1;
  8.   int j = s2.length() - 1;
  9.  
  10.   int remainder = 0;//0
  11.   String output = "";//"2"
  12.  
  13.   while (i >= 0 || j >= 0) { //i = -1
  14.     int c1 = i < 0? 0 : Integer.valueOf(s1.charAt(i));//0
  15.     int c2 = j < 0? 0 : Integer.valueOf(s2.charAt(j));//1
  16.    
  17.     int sum = c1 + c2 + remainder;//2
  18.    
  19.     if (sum > 9) {
  20.       sum = sum - 10;
  21.       remainder = 1;
  22.     } else {
  23.       remainder = 0;
  24.     }
  25.     output = sum + output;
  26.    
  27.     i --;
  28.     j --;
  29.   }
  30.  
  31.   if (remainder > 0) {
  32.     output = remainder + output;
  33.   }
  34.  
  35.   return output;
  36. }
  37.  
  38. // ["alaska", "alabama", "jake"]
  39. // ala
  40. // alaska, alabama
  41.  
  42. TrieNode {
  43.  
  44.   HashMap<Character, TrieNode> children;
  45. }
  46.  
  47. TrieNode buildTrie(List<String> dictionary) {
  48.   TrieNode node = new TrieNode();
  49.   for (String s : dictionary) {
  50.     TrieNode current = node;
  51.     for (int i = 0; i < s.length() - 1; i ++) {
  52.       char c =  s.charAt(i);
  53.       TrieNode child = children.get();
  54.      
  55.       if (child == null) {
  56.         TrieNode newNode = new TrieNode();
  57.         children.put(c, newNode);
  58.         current = newNode;
  59.       } else {
  60.         current = child;
  61.       }
  62.     }
  63.   }
  64.   return node;
  65. }
  66.  
  67. List<String> searchFromTrie(TrieNode root, String prefix) {
  68.   TrieNode current = root;
  69.   for (int i = 0; i < prefix.length() - 1; i ++) {
  70.     char c = prefix.charAt(i);
  71.    
  72.     TrieNode child = current.children.get(c);
  73.     if (child != null) {
  74.       current = child;
  75.     } else {
  76.       return new ArrayList<>();
  77.     }
  78.   }
  79.  
  80.  
  81. }
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.