package com.fishercoder.solutions;

/**
 * 925. Long Pressed Name
 *
 * Your friend is typing his name into a keyboard.
 * Sometimes, when typing a character c, the key might get long pressed,
 * and the character will be typed 1 or more times.
 *
 * You examine the typed characters of the keyboard.
 * Return True if it is possible that it was your friends name,
 * with some characters (possibly none) being long pressed.
 *
 * Example 1:
 *
 * Input: name = "alex", typed = "aaleex"
 * Output: true
 * Explanation: 'a' and 'e' in 'alex' were long pressed.
 * Example 2:
 *
 * Input: name = "saeed", typed = "ssaaedd"
 * Output: false
 * Explanation: 'e' must have been pressed twice, but it wasn't in the typed output.
 * Example 3:
 *
 * Input: name = "leelee", typed = "lleeelee"
 * Output: true
 * Example 4:
 *
 * Input: name = "laiden", typed = "laiden"
 * Output: true
 * Explanation: It's not necessary to long press any character.
 *
 * Note:
 * name.length <= 1000
 * typed.length <= 1000
 * The characters of name and typed are lowercase letters.
 * */
public class _925 {
    public static class Solution1 {
        public boolean isLongPressedName(String name, String typed) {
            int i = 0;
            for (int j = 0; i < name.length() && j < typed.length(); i++) {
                if (name.charAt(i) != typed.charAt(j)) {
                    return false;
                } else if (i < name.length() - 1 && name.charAt(i) != name.charAt(i + 1)) {
                    j++;
                    while (j < typed.length() && name.charAt(i) == typed.charAt(j)) {
                        j++;
                    }
                } else {
                    j++;
                }

            }
            return i == name.length();
        }
    }
}

@@ -33,1039 +33,8 @@
 s;%0A%0A
-/**%0A * 925. Long Pressed Name%0A *%0A * Your friend is typing his name into a keyboard.%0A * Sometimes, when typing a character c, the key might get long pressed,%0A * and the character will be typed 1 or more times.%0A *%0A * You examine the typed characters of the keyboard.%0A * Return True if it is possible that it was your friends name,%0A * with some characters (possibly none) being long pressed.%0A *%0A * Example 1:%0A *%0A * Input: name = %22alex%22, typed = %22aaleex%22%0A * Output: true%0A * Explanation: 'a' and 'e' in 'alex' were long pressed.%0A * Example 2:%0A *%0A * Input: name = %22saeed%22, typed = %22ssaaedd%22%0A * Output: false%0A * Explanation: 'e' must have been pressed twice, but it wasn't in the typed output.%0A * Example 3:%0A *%0A * Input: name = %22leelee%22, typed = %22lleeelee%22%0A * Output: true%0A * Example 4:%0A *%0A * Input: name = %22laiden%22, typed = %22laiden%22%0A * Output: true%0A * Explanation: It's not necessary to long press any character.%0A *%0A * Note:%0A * name.length %3C= 1000%0A * typed.length %3C= 1000%0A * The characters of name and typed are lowercase letters.%0A * */%0A
 publ

refactor 925