806. Number of Lines To Write String
class Solution { public int[] numberOfLines(int[] widths, String S) { int currentChar = 0; if (S.length() == 0) return new int[]{0,0}; int lines = 1; for (int i = 0; i < S.length(); i++) { currentChar += widths[S.charAt(i) - 97]; if( currentChar > 100){ currentChar -= widths[S.charAt(i) - 97]; currentChar = widths[S.charAt(i) - 97]; lines++; }else if( currentChar == 99 && i < S.length() - 1 /*at least there is one following char*/){ currentChar = 0; lines++; } } return new int[] { lines, currentChar}; }}