Open-Source Internship opportunity by OpenGenus for programmers. Apply now.

This is the list of **Interview Questions based on Array Data Structure**. You must practice these Multiple Choice Questions. This will help you master Array Coding Questions for Interviews at companies like Google and Microsoft.

Go through this article to learn more about arrays and practice different coding problems before you attempt the questions:

## Question 1

#### What is the minimum number of comparisons required to find the largest element in an array of N elements?

N-1

N

N/2

logN

The minimum number of comparisons required to find the largest element in an array of N elements is N-1 comparisons. To learn more about this, go through this article on largest element and this article on smallest element.

## Question 2

#### What is the minimum number of comparisons to find the 2nd largest element provided you have found the largest element?

logN - 1

N-1

N

N + logN - 2

The minimum number of comparisons required to find the 2nd largest element is N + logN - 2. Of this, N-1 comparisons are required to find the largest element. So, only logN - 1 extra comparisons are needed to find the 2nd largest element. To learn more about this, go through this article.

## Question 3

#### In Array Data Structure, what is the biggest limitation?

Pre-defined array size

Slow access time

Slow deletion operation

No random access

The biggest limitation of array is that we need to define the size of array beforehand. This is possible only if the maximum size of array is known beforehand and may lead to memory wastage. The solution is to use Dynamic Array or Linked List.

## Question 4

#### In Dynamic Array, what is the worst case Time Complexity of inserting an new element?

O(N)

O(1)

O(logN)

O(N^2)

The worst case Time Complexity of inserting an new element in a Dynamic Array is O(N). On average, it is O(1). This is because if the array is full and we want to insert a new element, a new array with size 2N is allocated and all N elements are copied before inserting the new element. This makes the worst case O(N).

## Question 5

#### If we have N elements, what is the maximum size of the Dynamic Array?

(N left shift 1) AND (NOT N)

2N

N

N left shift 1

If we have N elements, the maximum size of Dynamic Array is the power of 2 (2^M) which is just greater or equal to N. This is because size of Dynamic Array is always a power of 2 and it increases by doubling.

## Question 6

#### What is the average case Time Complexity to delete a specific element in an array?

O(N)

O(1)

O(logN)

O(loglogN)

The average case Time Complexity to delete a specific element in an array is O(N). This is because on deleting an element, all elements after it are shifted to the left by one position. This allows all elements in the array to stay together and makes the deletion operation O(N).

## Question 7

#### How is an N-dimensional array stored in memory?

1D array

2D array

N-D array

Linked List

A N-dimensional array is stored as a 1-D array in memory with ordering of row-major or column-major.

## Question 8

#### To move all negative numbers to the front of array, how many traversals are needed?

1

2

N

logN

We can move all negative numbers to the front of the array in just one traversal. To learn the algorithm required to solve this problem, check This article.

## Question 9

#### Array was improved by Dynamic Array. Dynamic Array is improved by?

Hashed Array Tree

Suffix Array

Prefix Sum Array

Bit Array

Hashed Array Tree is an improvement to Dynamic Array in the case where there is a large amount of unused memory. To learn more about this, go through this article on Hashed Array Tree

## Question 10

#### What is the Time Complexity to create Suffix Array?

O(N logN logN)

O(N^2 logN)

O(N^2)

O(N)

The Time Complexity to create Suffix Array is O(N logN logN). To learn more about suffix array, go through this article.

## Question 11

#### Using Rolling Hash technique in array, the time complexity to find the hash of a sub-array is?

O(1)

O(N)

O(logN)

O(N logN)

Using Rolling Hash technique in array, the time complexity to find the hash of a sub-array is O(1) with a pre-processing of O(N). To learn more about Rolling Hash, go through this article.

## Question 12

#### Which data structure is used to find the least frequent element in an array?

Hash Map

Sorting

Brute force

Linked List

Using Hash Map, you can find the least frequent element in an array takes O(N) time and O(N) space. Other approaches are not optimal in terms of time complexity. To learn more, go this algorithm.

## Question 13

#### Which Algorithm is used to find the largest sub-array sum in optimal time O(N)?

Kadane's algorithm

Slow Fast pointer

Boyer Moore algorithm

option4

Kadane's Algorithm is used to find the largest sub-array sum in optimal time O(N). To learn more about Kadane's Algorithm, go through this article.

## Question 14

#### Boyer Moore voting algorithm is used to find the majority element among the given sequence of elements in an array which occurs more than N/2 times. What is the Time Complexity provided space complexity is O(1)?

O(N)

O(N logN)

O(N^2)

O(N loglogN)

Boyer Moore voting algorithm is used to find the majority element among the given sequence of elements in an array which occurs more than N/2 times in linear time O(N) with space complexity O(1). To learn more about Boyer Moore Algorithm, go through this article.

## Question 15

#### If there are 1024 elements and we have found the largest element, how many comparisons are needed to find the 2nd largest element?

9

1023

1022

10

If there are 1024 elements and we have found the largest element, we need only 9 comparisons to find the 2nd largest element. 9 = log(1024) - 1. The minimum number of comparisons required to find the 2nd largest element is N + logN - 2. Of this, N-1 comparisons are required to find the largest element. So, only logN - 1 extra comparisons are needed to find the 2nd largest element. To learn more about this, go through this article.

With these questions (with answers) at OpenGenus, you must have a strong idea of Array and good practice of Coding Interview Porblems. Best of luck for your Coding Interview.