Paypal OA | USA | 2023 | Intern
Anonymous User
1073

1hr - two questions | hackerank

Question: 1
image

Working Code: [Python]

def vowels_prob(strArr, queries):
    s_e_vowels = []
    vowels = {'a', 'e', 'i', 'o', 'u'}
    for each in strArr:
        if each[0] in vowels and each[-1] in vowels:
            s_e_vowels.append(1)
        else:
            s_e_vowels.append(0)

    # prefix sum
    for i in range(1, len(s_e_vowels)):
        s_e_vowels[i] += s_e_vowels[i-1]

    print(strArr)
    print(s_e_vowels)
    s_e_vowels = [0] + s_e_vowels
    output = []
    for q in queries:
        l, r = map(int, q.split("-"))
        output.append(s_e_vowels[r] - s_e_vowels[l-1])

    print(output)

Question: 2
image

Working Code: [Python]

def closestNumbers(numbers):
    numbers.sort()
    smallestDiff = float("inf")
    output = []
    for i in range(1, len(numbers)):
        diff = abs(numbers[i] - numbers[i-1])
        if diff < smallestDiff:
            smallestDiff = diff
            output = [(numbers[i-1], numbers[i])]
        elif diff == smallestDiff:
            output.append((numbers[i-1], numbers[i]))
    for each in output:
        print(f"{each[0]} {each[1]}")
Comments (2)