Created
December 14, 2016 03:46
-
-
Save jonathancg90/670cf16b03590462c50b449aafdd1373 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Reto #1 | |
def main(): | |
file = open('problem1.txt', 'r') | |
lines = file.readlines() | |
for line in lines: | |
line = line.rstrip() | |
numbers = line.split(' ') | |
print(" ".join(detect_cycle(numbers))) | |
def detect_cycle(numbers): | |
found = dict() | |
result = list() | |
for i, c in enumerate(numbers): | |
if c not in found: | |
found[c] = i | |
else: | |
for original_i, repeated_i in zip(range(found[c], i), | |
range(i, len(numbers))): | |
if numbers[original_i] == numbers[repeated_i]: | |
result.append(numbers[original_i]) | |
else: | |
break | |
break | |
return result or numbers | |
Reto #2 | |
def main(): | |
file = open('problem2.txt', 'r') | |
lines = file.readlines() | |
for line in lines: | |
line = line.rstrip() | |
numbers, k = line.split(';') | |
numbers = numbers.split(',') | |
print(",".join(reverse_groups(numbers, int(k)))) | |
def reverse_groups(numbers, k): | |
_reversed = list(chain.from_iterable( | |
map(lambda x: x[::-1], | |
zip(*(islice(numbers, i, None, k) for i in range(k)))))) | |
return _reversed + numbers[len(_reversed):] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment