Tcs Coding Questions 2021 Best Guide

( Comparison illustration: wikipedia.org/... )

Here are some TCS coding questions from 2021, along with a useful piece of code for each:
1. Find the first non-repeating character in a string
Given a string, find the first non-repeating character in it.
Example: Input - "aabbc", Output - "c"
def first_non_repeating_char(s):
char_count = {}
for char in s:
if char in char_count:
char_count[char] += 1
else:
char_count[char] = 1
for char in s:
if char_count[char] == 1:
return char
return None
print(first_non_repeating_char("aabbc")) # Output: "c"
2. Check if a string is a palindrome
Given a string, check if it's a palindrome or not. Tcs Coding Questions 2021
Example: Input - "madam", Output - True
def is_palindrome(s):
return s == s[::-1]
print(is_palindrome("madam")) # Output: True
3. Find the maximum sum of a subarray
Given an array of integers, find the maximum sum of a subarray.
Example: Input - [-2, 1, -3, 4, -1, 2, 1, -5, 4], Output - 6
def max_subarray_sum(arr):
max_sum = float('-inf')
current_sum = 0
for num in arr:
current_sum = max(num, current_sum + num)
max_sum = max(max_sum, current_sum)
return max_sum
print(max_subarray_sum([-2, 1, -3, 4, -1, 2, 1, -5, 4])) # Output: 6
4. Count the number of pairs with a given sum Here are some TCS coding questions from 2021,
Given an array of integers and a target sum, count the number of pairs with that sum.
Example: Input - [1, 2, 3, 4, 5], target sum - 7, Output - 2
def count_pairs_with_sum(arr, target_sum):
count = 0
seen = set()
for num in arr:
complement = target_sum - num
if complement in seen:
count += 1
seen.add(num)
return count
print(count_pairs_with_sum([1, 2, 3, 4, 5], 7)) # Output: 2
5. Find the middle element of a linked list
Given a linked list, find the middle element.
Example: Input - 1 -> 2 -> 3 -> 4 -> 5, Output - 3 if (K-x) exists
class Node:
def __init__(self, data):
self.data = data
self.next = None
def find_middle_element(head):
slow = head
fast = head
while fast and fast.next:
slow = slow.next
fast = fast.next.next
return slow.data
# Create a sample linked list: 1 -> 2 -> 3 -> 4 -> 5
head = Node(1)
head.next = Node(2)
head.next.next = Node(3)
head.next.next.next = Node(4)
head.next.next.next.next = Node(5)
print(find_middle_element(head)) # Output: 3
Before diving into specific questions, you must understand the battlefield.
print statements or using input() without stripping newline characters.Key Insight from 2021: TCS shifted focus from complex data structures (like graphs) to optimization problems involving prime numbers, base conversions, and string manipulations.
Example: Input 123 → Output 321 | Input -456 → Output -654
Concept: Use modulo 10 to extract digits, build reversed number.
| Component | Details | |-----------|---------| | Number of Questions | 1 or 2 coding problems | | Time Allotted | 15–20 minutes (for coding) | | Languages Allowed | C, C++, Java, Python, Perl | | Difficulty | Easy to Medium | | Topics Covered | Arrays, Strings, Loops, Conditionals, Basic Math, Recursion |
Note: TCS 2021 coding questions were mostly implementation-based rather than algorithmic. Focus was on logic, edge cases, and clean code.
The questions in 2021 largely focused on:
Problem Statement: Consider the following
User reviews and comments