Leetcode #443 | #Medium | [[Указатель на запись]] ## Идея Цикл по массиву + цикл по повторам, заводим указатель word и изменяем in-place, сжатие гарантирует что мы не выйдем за пределы массива ## [[Big-O]] - Время ```O(N)``` - Память ```O(1)``` ## Код ```Java class Solution { public int compress(char[] chars) { int write = 0; for (int i = 0; i < chars.length; i++) { int count = 1; char currentChar = chars[i]; while (i + 1 < chars.length && chars[i + 1] == chars[i]) { i++; count++; } chars[write++] = currentChar; if (count > 1) { for (char c : String.valueOf(count).toCharArray()) { chars[write++] = c; } } } return write; } } ```