У меня возникают трудности с формулированием возможного решения вопроса, называемого сжатием строки, когда мне нужно сжать строку на основе повторяющихся символов
INPUT: aabbccddeeff OUTPUT a2b2c2d2e2f2
INPUT: abbbccddeeff ВЫВОД: a1b3c2d2e2f2
Мой код в настоящее время может идентифицировать повторяющиеся символы (скоро я реализую logi c для неповторяющихся символов)
Мой вопрос: Как мне введите количество раз, когда появляется символ, я думаю об использовании пустой строки и динамическом построении решения, однако это оказывается относительно сложным
Мой код
*public static void strCompression(String word){
char[] arr = word.toCharArray();
int idx = 0;
int jdx = idx + 1;
int times = 0;
String empt = "";
while (idx<arr.length)
{
while(jdx != arr.length)
{
if(arr[idx] == arr[jdx])
{
times = (jdx - idx) + 1;
}
idx = jdx;
++jdx;
}
++idx;
}
}*
Может кто-нибудь дайте мне несколько советов о том, как go это сделать.
Также в моем фрагменте кода index i получает индекс j, если нет повторяющихся элементов, затем он начинает подсчет, чтобы проверить, есть ли другие повторяющиеся элементы. так, например,
aaaaabbbbb
указатель idx находится в 0, который является a, jdx подсчитывает, сколько раз встречается a, когда индекс в i не равен индексу в j (разные значения char) тогда мы установим индекс в i равным индексу в j
Если это будет idx = jdx + 1 или idx = jdx;