Best 15 Coding Interview Questions and Answers – Latest

Today we are sharing Best 15 Coding Interview Questions and Answers. These are some classic coding interview questions that can help you prepare for your coding interviews. Make sure to practice solving these problems to enhance your problem-solving skills. Here are 15 commonly asked coding interview questions, along with their answers:

1: Reverse a String:

Question: Write a function to reverse a string.

return s[::-1]

2: Check for Palindrome:

Question: Write a function to determine if a given string is a palindrome.

return s == s[::-1]

3: Find the Maximum Subarray:

Question: Write a function to find the contiguous subarray with the largest sum.

max_sum = curr_sum = nums[0]

for num in nums[1:]:

curr_sum = max(num, curr_sum + num)

max_sum = max(max_sum, curr_sum)

return max_sum

4: Two Sum Problem:

Question: Given an array of integers, return indices of the two numbers such that they add up to a specific target.

num_dict = {}

for i, num in enumerate(nums):

complement = target – num

if complement in num_dict:

return [num_dict[complement], i]

num_dict[num] = i

5: Merge Two Sorted Lists:

Question: Merge two sorted linked lists and return it as a new sorted list.

if not l1:

return l2

if not l2:

return l1

if l1.val < l2.val:

l1.next = merge_two_lists(l1.next, l2)

return l1

else:

l2.next = merge_two_lists(l1, l2.next)

return l2

Question: Reverse a singly linked list.

prev = None

return prev

7: Binary Search:

Question: Implement binary search on a sorted array.

left, right = 0, len(nums) – 1

while left <= right:

mid = left + (right – left) // 2

if nums[mid] == target:

return mid

elif nums[mid] < target:

left = mid + 1

else:

right = mid – 1

return -1

8: Implement a Stack:

Question: Implement a stack using arrays/lists.

def __init__(self):

self.stack = []

def push(self, val):

self.stack.append(val)

def pop(self):

if not self.is_empty():

return self.stack.pop()

def is_empty(self):

return len(self.stack) == 0

def peek(self):

if not self.is_empty():

return self.stack[-1]

9: Implement a Queue:

Question: Implement a queue using arrays/lists.

def __init__(self):

self.queue = []

def enqueue(self, val):

self.queue.append(val)

def dequeue(self):

if not self.is_empty():

return self.queue.pop(0)

def is_empty(self):

return len(self.queue) == 0

def peek(self):

if not self.is_empty():

return self.queue[0]

10: Find the Missing Number:

Question: Given an array containing n distinct numbers taken from 0, 1, 2, …, n, find the one that is missing from the array.

n = len(nums)

total_sum = n * (n + 1) // 2

11: Implement Trie (Prefix Tree):

Question: Implement a trie with insert, search, and startsWith methods.

def __init__(self):

self.children = {}

self.is_end_of_word = False

class Trie:

def __init__(self):

self.root = TrieNode()

def insert(self, word):

node = self.root

for char in word:

if char not in node.children:

node.children[char] = TrieNode()

node = node.children[char]

node.is_end_of_word = True

def search(self, word):

node = self.root

for char in word:

if char not in node.children:

return False

node = node.children[char]

return node.is_end_of_word

def startsWith(self, prefix):

node = self.root

for char in prefix:

if char not in node.children:

return False

node = node.children[char]

return True

12: Check Balanced Parentheses:

Question: Given a string containing just the characters ‘(‘, ‘)’, ‘{‘, ‘}’, ‘[‘ and ‘]’, determine if the input string is valid.

stack = []

mapping = {‘)’: ‘(‘, ‘}’: ‘{‘, ‘]’: ‘[‘}

for char in s:

if char in mapping:

top_element = stack.pop() if stack else ‘#’

if mapping[char] != top_element:

return False

else:

stack.append(char)

return not stack

13: Counting Sort:

Question: Implement counting sort algorithm.

max_val = max(arr)

counts = [0] * (max_val + 1)

for num in arr:

counts[num] += 1

sorted_arr = []

for i in range(len(counts)):

sorted_arr.extend([i] * counts[i])

return sorted_arr

14: Find Longest Common Prefix:

Question: Write a function to find the longest common prefix string amongst an array of strings.

if not strs:

return “”

min_str = min(strs, key=len)

for i, char in enumerate(min_str):

for string in strs:

if string[i] != char:

return min_str[:i]

return min_str

15: Rotate Array:

Question: Rotate an array to the right by k steps.

k %= len(nums)

nums[:] = nums[-k:] + nums[:-k]

Conclusion

These questions cover various aspects of data structures and algorithms commonly encountered in coding interviews.