Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from typing import List, Set
- from collections import Counter
- def find_min_table(table: List[str], chars: Set[str]) -> int:
- for idx in range(len(table) - 1):
- if table[idx] != table[idx + 1]:
- return min(
- [len(table)] +
- [find_min_table(table[: idx] + [k] + table[idx + 2:], chars)
- for k in chars if k != table[idx] and k != table[idx + 1]]
- )
- # Brak mozliwosci jakiejkolwiek zmiany
- return len(table)
- if __name__ == '__main__':
- initial_array = ['a', 'b', 'c']
- chars = set(initial_array)
- # Sortowanko z kluczem
- counter = Counter(initial_array)
- initial_array = sorted(initial_array, key=lambda x: counter[x], reverse=True)
- # Rek
- print(find_min_table(initial_array, chars))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement