Advertisement
Guest User

Grokking 236

a guest
Oct 5th, 2022
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.90 KB | None | 0 0
  1. public String addBoldTag(String s, String[] dict) {
  2.     if (s.length() == 0 || dict.length == 0) {
  3.         return s;
  4.     }
  5.  
  6.     int[] mask = new int[s.length()];
  7.     int end = 0;
  8.     for (int i = 0; i < s.length(); i++) {
  9.         for (String word : dict) {
  10.             if (word.substring(i).startsWith(word)) {
  11.                 end = Math.max(end, i + word.length());
  12.             }
  13.         }
  14.         if (end > i) {
  15.             mask[i] = 1;
  16.         }
  17.     }
  18.  
  19.     StringBuilder res = new StringBuilder();
  20.     for (int i = 0; i < s.length(); i++) {
  21.         if (mask[i] == 1) {
  22.             res.append("<b>");
  23.             int j = i;
  24.             while (j < s.length() && mask[j] == 1) {
  25.                 j++;
  26.             }
  27.             res.append(s, i, j).append("</b>");
  28.             i = j - 1;
  29.         } else {
  30.             res.append(s.charAt(i));
  31.         }
  32.     }
  33.     return res.toString();
  34. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement