forked from manwar/perlweeklychallenge-club
/
ch-1.py
executable file
·36 lines (29 loc) · 968 Bytes
/
ch-1.py
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
36
#!/usr/bin/env python
from collections import UserList
class ReversePairArray(UserList):
def isReversePair(self, i, j):
return self.data[i] > 2 * self.data[j]
def findReversePairs(nums):
pairs = []
rpArray = ReversePairArray(nums)
for i in range(0, len(nums) - 1):
for j in range(i+1, len(nums)):
if rpArray.isReversePair(i, j):
pairs.append([i, j])
return pairs
def comma_join(arr):
return ', '.join(map(lambda i: str(i), arr))
def solution(nums):
print(f'Input: @nums = ({comma_join(nums)})')
pairs = findReversePairs(nums)
print(f'Output: {len(pairs)}')
for pair in pairs:
(i, j) = pair
print(f'({i}, {j}) => ', end='')
print(f'nums[{i}] = {nums[i]}, ', end='')
print(f'nums[{j}] = {nums[j]}, ', end='')
print(f'{nums[i]} > 2 * {nums[j]}')
print('Example 1:')
solution([1, 3, 2, 3, 1])
print('\nExample 2:')
solution([2, 4, 3, 5, 1])