-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtwitter3.py
More file actions
36 lines (30 loc) · 746 Bytes
/
twitter3.py
File metadata and controls
36 lines (30 loc) · 746 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
def difference(start, bank, count):
result = []
for value in bank:
cost = sum([0 if value [i] == start[i] else 1 for i in range(8)])
if cost == count:
result.append(value)
return result if len(result) else -1
def delete(one_diff_arr, bank):
for i, val in enumerate(bank):
if val == one_diff_arr:
del(bank[i])
return bank
def solution(start, end, bank):
level = 0
count = 1
while(bank):
level+=1
one_diff_arr = difference(start, bank, count)
if(one_diff_arr):
if end in one_diff_arr:
return level
else:
count=count+1
bank = delete(one_diff_arr, bank)
else:
return -1
start = "AAAAAAAA"
end = "GGAAAAAA"
bank = ["GAAAAAAA","AAGAAAAA", "AAAAGAAA", "GGAAAAAA"]
print(solution(start, end, bank))