Task 1
Write a function: def solution(A) that, given an array A of N integers, returns the smallest positive integer (greater than 0) that does not occur in A. For example, given A = [1, 3, 6, 4, 1, 2], the function should return 5. Given A = [1, 2, 3], the function should return 4. Given A = [−1, −3], the function should return 1. Write an efficient algorithm for the following assumptions: N is an integer within the range [1..100,000]; each element of array A is an integer within the range [−1,000,000..1,000,000].A brute-force solution to this problem that will fail the performance tests will look like this:
def solution(A): # a_sort = sorted(A) rtn = -1 for i in range(1, 100001): if i in A: # This is the most time consuming instruction of this code that runs repeatedly for all of i(s) continue else: rtn = i break return rtnTask 2
Task 3
Fig 3.1 Fig 3.2 Fig 3.3
Thursday, December 28, 2023
Coding Round in Interview for Data Scientist Role at a Bank (17 Nov 2023)
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment