aboutsummaryrefslogtreecommitdiff
path: root/challenge-243/packy-anderson/python/ch-1.py
blob: d490ef0bf1e90f1689cffb271a4ededb42f4a4cc (plain)
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])