crbnfltr

package
Version: v0.0.0-...-4995c53 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 7, 2021 License: MIT Imports: 0 Imported by: 0

README

Проблема

Уздовж вулиці N будинків. У деяких з них вже встановлені вугільні фільтри. Ми хотіли б встановити фільтри в решті будинків (в ті, які їх ще не мають). Використовуються два типи фільтрів, які називаються "a" і "b". Будинки представлені у вигляді рядка символів "a", "b" і "?" ("a" і "b" позначає будинок із встановленим фільтром даного типу; "?" являє собою будинок без фільтру). Ваше завдання - скласти план типів фільтрів для встановлення в будинках, які ще їх не мають.

Завдання

Написати функцію що, для заданого рядка S довжиною N, повертає рядок, який є результатом заміни кожного '?' у рядку S символом 'a' або 'b' і не містить трьох однакових послідовних букв (в оброблюваному рядку не може бути ані "aaa", ані "bbb").

Приклади:

  1. Для S = "a?bb", ваша функція повинна повертати "aabb".
  2. Для S = "??abb", ваша функція повинна повертати "ababb", "bbabb" або "baabb".
  3. Для S = "a?b?aa", ваша функція повинна повертати "aabbaa".
  4. Для S = "aa??aa", ваша функція повинна повертати "aabbaa".

Напишіть ефективний алгоритм для таких припущень :

  • рядок S складається лише з наступних символів: 'a', 'b' та / або '?';
  • N - ціле число в межах [1..500 000];
  • завжди можна створити план, щоб в ньому не було послідовностей з трьох однакових фільтрів.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Solution

func Solution(plan string) string

Solution returns corrected plan

Types

This section is empty.

Source Files

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
t or T : Toggle theme light dark auto
y or Y : Canonical URL