Round 1: Programming Test
Input:   {3, 4, 7, 1, 2, 9, 8}
Output:  (3, 8) and (4, 7)
Explanation: 3+8 = 4+7
Input:  {65, 30, 7, 90, 1, 9, 8};
Output:  No pairs found
def getpairs(elements):
    d=dict()
    l=len(elements)
    for i in range(l-1):
        for j in range(i+1,l):
            s=elements[i]+elements[j]
            if s not in d:
                d[s]=(elements[i],elements[j])
            else:
                print("pairs are %s and (%d,%d)"%(str(d[s]),elements[i],elements[j]))
getpairs([3, 4, 7, 1, 2, 9, 8])
Input: 90 Output: 5 Input: 84 Output: 7
def findMaxPrime(n):
    while n % 2 == 0:
        mp = 2
        n = n / 2
    for i in range(3, int(n), 2):
        while n % i == 0:
            mp = i
            n = n / i
    if n > 2:
        mp = n
    return int(mp)
print(findMaxPrime(84))
Input: a = 9, b = 25 Output: 3 The three squares in given range are 9, 16 and 25
import math
def getNumberOfSqaures(a, b):
    return (math.floor(math.sqrt(b)) - math.ceil(math.sqrt(a)) + 1)
print("getNumberOfSqaures :", getNumberOfSqaures(9, 25))
def makeZero(grid):
    row = len(grid)
    col = len(grid[0])
    r, c = list(), list()
    for i in range(row):
        for j in range(col):
            if grid[i][j] == 0:
                r.append(i)
                c.append(j)
    for i in range(row):
        for j in range(col):
            if i in r or j in c:
                grid[i][j] = 0
grid = [
    [1, 1, 1],
    [1, 0, 1],
    [1, 1, 1]
]
print("input -> ", grid)
makeZero(grid)
print("Output -> ", grid)
Round 2: Video call interview
Let's have a string input = "hello world 55 test 77" then print the sum of digits of numbers in pair. output = (10,14). Don't use regular expression.
Solution
def getSum(string):
    """Without using regular expression"""
    k = 0
    found = False
    s = 0
    d = list()
    for i in string + " ":
        if i.strip() in [str(j) for j in range(10)]:
            s = s + int(i)
            found = True
            k = k + 1
        else:
            found = False
        if k > 0 and not found:
            d.append(s)
            s = 0
            k = 0
    print(tuple(d))
getSum("hello world 55 test 77")
import time
import multiprocessing
def raise_time_out():
    p = multiprocessing.Process(target=testtime, args=[10])
    p.start()
    p.join(5)
    if p.is_alive():
        print('Process taking more than 5 seconds..Lets kill it')
        p.terminate()
        p.join()
if __name__ == "__main__":
    start = time.perf_counter()
    raise_time_out()
    end = time.perf_counter()
    print(f'Processing finished in {end - start} seconds')
This article is contributed by Nupur. If you like dEexams.com and would like to contribute, you can write your article here or mail your article to admin@deexams.com . See your article appearing on the dEexams.com main page and help others to learn.