Advertisement
Guest User

Untitled

a guest
Jul 20th, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.89 KB | None | 0 0
  1.    
  2.     public static String[] textJustification(String[] words, int l) {
  3.         String[] result = new String[151];
  4.         Arrays.fill(result, "");
  5.         int totalLen = 0;
  6.         for (int i = 0; i < words.length; i++) {
  7.             totalLen += words[i].length();
  8.         }
  9.         int k = 0;
  10.         for (int i = 0; i < words.length; i++) {
  11.             if (l == words[i].length()) {
  12.                 if (!result[k].isEmpty()) {
  13.                     k++;
  14.                 }
  15.                 result[k] = words[i];
  16.                 continue;
  17.             }
  18.             while (!(l >= (result[k].length() + 1 + words[i].length()))) {
  19.                 k++;
  20.             }  
  21.             if (result[k].isEmpty()) {
  22.                 result[k] = words[i];
  23.             } else {
  24.                 result[k] += " " + words[i];
  25.             }
  26.         }
  27.         result = Arrays.copyOfRange(result, 0, k + 1);
  28.        
  29.        
  30.        
  31.         for (int i = 0; i < result.length; i++) {
  32.             int numWords = 0;
  33.             for (int p = 0; p < result[i].length(); p++) {
  34.                 if (result[i].charAt(p) == ' ') {
  35.                     numWords++;
  36.                 }
  37.             }
  38.             if (numWords == 0) {
  39.                 while (result[i].length() < l) {
  40.                     result[i] += " ";
  41.                 }
  42.             }
  43.             for (int f = 0; f < (l - result[i].length()); f++) {
  44.                 for (int s = 0; s < result[i].length(); s++) {
  45.                     if (result[i].charAt(s) == ' ') {
  46.                         result[i] = result[i].substring(0, s) + " " + result[i].substring(s, result[i].length());
  47.                         s++;
  48.                     }
  49.                     if (result[i].length() >= l) {
  50.                         f = l;
  51.                         break;
  52.                     }
  53.                 }
  54.             }
  55.         }
  56.        
  57.         return result;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement