рднрд╛рд╖рд╛ рдХреЗ рд╕рднреА рд╢рдмреНрджреЛрдВ рдореЗрдВ рд╡рд┐рдкрд░реНрдпрдп рдФрд░ рд╕рдмрд╛рдирдЧреНрд░рд╛рдо рдХреЗ рд▓рд┐рдП рдЦреЛрдЬреЗрдВ

рд╡рд┐рдЪрд╛рд░ рдХреЗ рдХрд╛рд░рдг рдПрдирд╛рдЧреНрд░рд╛рдо рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди:
рдпрджрд┐ рдЖрдк рд░реВрд╕реА рднрд╛рд╖рд╛ рдХреЗ рд╢рдмреНрджрдХреЛрд╢ рд╕реЗ рд╕рднреА рд╡рд┐рдкрд░реНрдпрдп рдФрд░ рд╢реНрд░рдВрдЧрд╛рд░ рдХреЛ рд╣рдЯрд╛рддреЗ рд╣реИрдВ рддреЛ рдХрд┐рддрдиреЗ рд╢рдмреНрдж рд░рд╣рддреЗ рд╣реИрдВ

рд╢рдмреНрджрдХреЛрд╢ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ рд╡рд┐рднрд┐рдиреНрди рд░реВрдкреЛрдВ рдореЗрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ 15 рд▓рд╛рдЦ рд╢рдмреНрджред

рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд╕рд╛рде рдкреНрд░рддреНрдпреЗрдХ рд╢рдмреНрдж рдХреА рддреБрд▓рдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди 15 рд▓рд╛рдЦ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рд▓рдВрдмреА рдФрд░ рдирд╣реАрдВ рдЗрд╖реНрдЯрддрдо рд╣реИред
рдЕрдирдВрдд рд╕реНрдореГрддрд┐ рд╡рд╛рд▓реА рджреБрдирд┐рдпрд╛ рдореЗрдВ, рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рд╢рдмреНрдж рдХреЗ рд╕рднреА рдХреНрд░рдордкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрди рдкрд░ рд╣рдорд╛рд░реЗ рд╢рдмреНрджрдХреЛрд╢ рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдХреЛрдИ рдмреЗрд╣рддрд░ рд╕рдорд╛рдзрд╛рди рд╣реИ ?

: рдЪрд▓реЛ рд╢рдмреНрджрд╛рд╡рд▓реА рдХреЗ рд╕рд╛рде рд╢реБрд░реВ

- рдПрдХ рд╢рдмреНрдж рдкрддреНрд░ рдХреЗ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХреЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд рдЕрдирд╛рдЧреНрд░рд╛рдо
: рдЙрджрд╛рд╣рд░рдг рд░реЙрдХреЗрдЯ рдФрд░ рдЧрд╛рдбрд╝реА

Sabanagram - рдПрдХ рд╢рдмреНрдж рд╣реИ рдХрд┐ рдПрдХ рдФрд░ рд╢рдмреНрдж рдХреЗ рдЕрдХреНрд╖рд░реЛрдВ рд╕реЗ рдмрдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
рдЙрджрд╛рд╣рд░рдг: рдореЗрд╣рд░рд╛рдм - рд╢рдмреНрдж рдХреЗ sabanagram рд░реЙрдХреЗрдЯ

рдЯрд╛рд╕реНрдХ :

: рдЖрдЗрдП рд╣рдорд╛рд░реЗ рд╢рдмреНрджрдХреЛрд╢ рдкрд╛рдБрдЪ рдореБрд╢реНрдХрд┐рд▓ рд╢рдмреНрджреЛрдВ рдХреЗ рд╣реЛрддреЗ рд╣реИрдВ рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐

рд░реЙрдХреЗрдЯ , рдЧрд╛рдбрд╝реА , рдореЗрд╣рд░рд╛рдм , рдмрд┐рд▓реНрд▓реА , рдереВрдХ , рдЙрдкрд╕рд░реНрдЧ рд╡реГрдХреНрд╖ (рдЯреНрд░рд╛рдЗ) рдореЗрдВ

рдПрдХ рд╢рдмреНрджрдХреЛрд╢ рдЬреЛрдбрд╝реЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЯреНрд░реА рдиреЛрдб рдореЗрдВ рдПрдХ рдЬреЛрдбрд╝реА рд╣реЛрддреА рд╣реИ: рдЕрдХреНрд╖рд░ + рд╢рдмреНрдж рдореЗрдВ рдЗрд╕рдХреА рд╕рдВрдЦреНрдпрд╛ ред рдиреЛрдбреНрд╕ рдХреЛ рд╡рд░реНрдгрд╛рдиреБрдХреНрд░рдо рдореЗрдВ рд╕реЙрд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЕрдХреНрд╖рд░ рдХреА рдЖрд╡реГрддреНрддрд┐ рдЕрд▓реНрдЧреЛрд░рд┐рджрдо (рд╕рд░рд▓реАрдХреГрдд рд░реВрдк рдореЗрдВ) рдореЗрдВ рд╣реЛрддреА рд╣реИ:







рдлрд░реНрд╢ рд▓реЗ рд▓реЛ, рдПрди.рдЖрд░. рдмрд┐рд▓реНрд▓реА:

рд╣рдо рд╢рдмреНрдж рдХреЗ рдиреНрдпреВрдирддрдо рдЕрдХреНрд╖рд░ рд╕реЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдиреЛрдбреНрд╕ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ ("k")

(рдЪрд┐рддреНрд░ рдореЗрдВ, рдРрд╕реЗ рдиреЛрдбреНрд╕ рдмреИрдВрдЧрдиреА рд░рдВрдЧ рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рд╣реИрдВ)

рдЬреИрд╕реЗ рд╣реА рд╣рдореЗрдВ рдПрдХ рдиреЛрдб рдорд┐рд▓рддрд╛ рд╣реИ, рд╣рдо рдЖрд╡рд╢реНрдпрдХ рдорд╛рддреНрд░рд╛ рдореЗрдВ рд╢реЗрд╖ рдЕрдХреНрд╖рд░реЛрдВ рд╡рд╛рд▓реЗ рдкрде рдХреЗ рд▓рд┐рдП рд╕рдмрдЯреНрд░реА рдореЗрдВ рджреЗрдЦрддреЗ рд╣реИрдВ,

рдиреЛрдб K-1 рдХреЗ рдиреАрдЪреЗ рд╢рдмреНрдж рдереВрдХ рдореЗрдВред рд╣реЗ -2 рдФрд░ рдЯреА -1, рдЬреЛ рдХрд┐ рдХрд╛рдлреА рд╣рдорд╛рд░реЗ рд╢рдмреНрдж рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрд▓реАред

рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдЬрд▓реНрджреА рд╕реЗ рд╕рдмрдЯреНрд░реА рдпрджрд┐ рдиреЛрдб рдкрддреНрд░> рдкрддреНрд░ рд╕реЗ рд╣рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рд╕рдХрддреЗ рд╣реИ

рдкрд░ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рд╢рдмреНрджрдХреЛрд╢, рд╣рдореЗрдВ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдХреЗрд╡рд▓ рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдереВрдХ рд╣реИ рдПрдХ рдЕрдирд╛рдЧреНрд░рд╛рдо рдирд╣реАрдВ рдпрд╛ рджреВрд╕рд░реЗ рд╢рдмреНрдж рдХрд╛ рд╢рдмреНрджрдЧреНрд░рд╛рдо

рдЬрд╛рд╡рд╛ рдХреЛрдб
 public boolean isAnagramOrSubAnagram(Word word) {
        Character minCharacter = word.getMinCharacter();

        Stack<TrieNode> stack = new Stack<>();
        stack.add(root);

        while (!stack.isEmpty()) {
            TrieNode node = stack.pop();

            for (Entry<TrieKey, TrieNode> entry : node.getChildren().entrySet()) {
                char character = entry.getKey().getCharacter();
                if (character < minCharacter) {
                    stack.add(entry.getValue());
                } else if (character > minCharacter) {
                    break;
                } else if (entry.getKey().getCount() >= word.getCharacterCount(minCharacter)) {
                    if (doesMinWordCharacterNodeContainAnagram(entry, word)) {
                        return true;
                    }
                }
            }
        }
        return false;
    }



тЖТ рджреЛ рд╢рдмреНрджрдХреЛрд╢реЛрдВ рдФрд░ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХреЛрдб рдХрд╛ рдкреВрд░реНрдг рд╕рдВрд╕реНрдХрд░рдг

PS

1.5 рдорд┐рд▓рд┐рдпрди рд╕реЗ рдПрдХ рд░реВрд╕реА рд╢рдмреНрджрдХреЛрд╢ рдХреЗ рд▓рд┐рдП, 13 рдорд┐рдирдЯ рдореЗрдВ 242399 рд╢рдмреНрдж рдмрдЪреЗ рд╣реИрдВред
рдЕрдВрдЧреНрд░реЗрдЬреА рдХреЗ рд▓рд┐рдП 416 рд╣рдЬрд╝рд╛рд░ рд╕реЗ 49251 рд╢рдмреНрджреЛрдВ рдХреЛ 45 рд╕реЗрдХрдВрдб рдореЗрдВ рдЫреЛрдбрд╝ рджрд┐рдпрд╛

рд╣реИред рдпрджрд┐ рдЖрдк рдЗрд╕рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╡рд░реНрддрдорд╛рди рд╢рдмреНрдж рдХреЛ рд╣рдЯрд╛рдХрд░ рдореВрд▓ рд╢рдмреНрджрдХреЛрд╖ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

All Articles