TCS NQT Coding Solutions - Java and Python
20 commonly repeated coding patterns with concise, exam-ready solutions.
1. Palindrome Number
Check whether an integer reads the same forwards and backwards.
Python
n = int(input())
s = str(n)
print("YES" if s == s[::-1] else "NO")
Java
import [Link].*;
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
int n = [Link](), temp = n, rev = 0;
while (temp > 0) { rev = rev * 10 + temp % 10; temp /= 10; }
[Link](n == rev ? "YES" : "NO");
}
}
2. Prime Number Check
Print PRIME if n has exactly two factors; otherwise NOT PRIME.
Python
import math
n = int(input())
if n < 2:
print("NOT PRIME")
else:
ok = True
for i in range(2, int([Link](n)) + 1):
if n % i == 0:
ok = False
break
print("PRIME" if ok else "NOT PRIME")
Java
import [Link].*;
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
int n = [Link](); boolean ok = n >= 2;
for (int i = 2; i * i <= n && ok; i++)
if (n % i == 0) ok = false;
[Link](ok ? "PRIME" : "NOT PRIME");
}
}
3. Fibonacci Series
Print first n Fibonacci terms.
Python
n = int(input())
a, b = 0, 1
ans = []
for _ in range(n):
[Link](str(a))
a, b = b, a + b
print(" ".join(ans))
Java
import [Link].*;
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
int n = [Link](); long a = 0, b = 1;
for (int i = 0; i < n; i++) {
[Link](a + (i == n - 1 ? "" : " "));
long c = a + b; a = b; b = c;
}
}
}
4. Factorial
Find n! for non-negative n.
Python
n = int(input())
fact = 1
for i in range(2, n + 1):
fact *= i
print(fact)
Java
import [Link].*;
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
int n = [Link](); long fact = 1;
for (int i = 2; i <= n; i++) fact *= i;
[Link](fact);
}
}
5. Armstrong Number
Check whether sum of digits raised to number of digits equals the number.
Python
n = int(input())
s = str(n)
total = sum(int(ch) ** len(s) for ch in s)
print("YES" if total == n else "NO")
Java
import [Link].*;
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
int n = [Link](), temp = n, digits = [Link](n).length();
int sum = 0;
while (temp > 0) { sum += [Link](temp % 10, digits); temp /= 10; }
[Link](sum == n ? "YES" : "NO");
}
}
6. Largest and Second Largest in Array
Input n and n integers; print largest and second largest distinct values.
Python
n = int(input())
a = list(map(int, input().split()))
first = second = -10**18
for x in a:
if x > first:
second, first = first, x
elif first > x > second:
second = x
print(first, second if second != -10**18 else "NA")
Java
import [Link].*;
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
int n = [Link](); long first = Long.MIN_VALUE, second = Long.MIN_VALUE;
for (int i = 0; i < n; i++) {
long x = [Link]();
if (x > first) { second = first; first = x; }
else if (x < first && x > second) second = x;
}
[Link](first + " " + (second == Long.MIN_VALUE ? "NA" : second));
}
}
7. Reverse Array
Input n and n integers; print array in reverse order.
Python
n = int(input())
a = list(map(int, input().split()))
print(*a[::-1])
Java
import [Link].*;
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
int n = [Link](); int[] a = new int[n];
for (int i = 0; i < n; i++) a[i] = [Link]();
for (int i = n - 1; i >= 0; i--) [Link](a[i] + (i == 0 ? "" : " "));
}
}
8. Remove Duplicates from Array
Preserve first occurrence order.
Python
n = int(input())
a = list(map(int, input().split()))
seen = set(); ans = []
for x in a:
if x not in seen:
[Link](x); [Link](x)
print(*ans)
Java
import [Link].*;
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
int n = [Link](); LinkedHashSet<Integer> set = new LinkedHashSet<>();
for (int i = 0; i < n; i++) [Link]([Link]());
int k = 0;
for (int x : set) [Link](x + (++k == [Link]() ? "" : " "));
}
}
9. Sort Array
Input n and n integers; print sorted array.
Python
n = int(input())
a = list(map(int, input().split()))
[Link]()
print(*a)
Java
import [Link].*;
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
int n = [Link](); int[] a = new int[n];
for (int i = 0; i < n; i++) a[i] = [Link]();
[Link](a);
for (int i = 0; i < n; i++) [Link](a[i] + (i == n - 1 ? "" : " "));
}
}
10. Frequency Count
Count frequency of each number preserving insertion order.
Python
n = int(input())
a = list(map(int, input().split()))
freq = {}
for x in a:
freq[x] = [Link](x, 0) + 1
for k, v in [Link]():
print(k, v)
Java
import [Link].*;
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
int n = [Link](); LinkedHashMap<Integer,Integer> map = new LinkedHashMap<>();
for (int i = 0; i < n; i++) {
int x = [Link](); [Link](x, [Link](x, 0) + 1);
}
for ([Link]<Integer,Integer> e : [Link]())
[Link]([Link]() + " " + [Link]());
}
}
11. Reverse String
Input one line and reverse it.
Python
s = input()
print(s[::-1])
Java
import [Link].*;
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
String s = [Link]();
[Link](new StringBuilder(s).reverse().toString());
}
}
12. Count Vowels and Consonants
Ignore spaces and non-alphabet characters.
Python
s = input().lower()
vowels = set('aeiou')
v = c = 0
for ch in s:
if [Link]():
if ch in vowels: v += 1
else: c += 1
print(v, c)
Java
import [Link].*;
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
String s = [Link]().toLowerCase(); int v = 0, c = 0;
for (char ch : [Link]()) {
if (ch >= 'a' && ch <= 'z') {
if ("aeiou".indexOf(ch) >= 0) v++; else c++;
}
}
[Link](v + " " + c);
}
}
13. Anagram Check
Check if two strings contain the same letters.
Python
s1 = input().replace(' ', '').lower()
s2 = input().replace(' ', '').lower()
print("YES" if sorted(s1) == sorted(s2) else "NO")
Java
import [Link].*;
class Main {
static String sortStr(String s) {
char[] a = [Link](" ", "").toLowerCase().toCharArray();
[Link](a); return new String(a);
}
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
String a = [Link](), b = [Link]();
[Link](sortStr(a).equals(sortStr(b)) ? "YES" : "NO");
}
}
14. String Compression
Convert aaabbc to a3b2c1.
Python
s = input()
if not s:
print("")
else:
ans = []
count = 1
for i in range(1, len(s)):
if s[i] == s[i-1]:
count += 1
else:
[Link](s[i-1] + str(count))
count = 1
[Link](s[-1] + str(count))
print(''.join(ans))
Java
import [Link].*;
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
String s = [Link]();
if ([Link]() == 0) { [Link](""); return; }
StringBuilder ans = new StringBuilder(); int count = 1;
for (int i = 1; i < [Link](); i++) {
if ([Link](i) == [Link](i - 1)) count++;
else { [Link]([Link](i - 1)).append(count); count = 1; }
}
[Link]([Link]([Link]() - 1)).append(count);
[Link](ans);
}
}
15. Remove Spaces from String
Remove all spaces from a line.
Python
s = input()
print([Link](' ', ''))
Java
import [Link].*;
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
String s = [Link]();
[Link]([Link](" ", ""));
}
}
16. Pattern Printing
Print right triangle star pattern of height n.
Python
n = int(input())
for i in range(1, n + 1):
print('*' * i)
Java
import [Link].*;
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
int n = [Link]();
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= i; j++) [Link]("*");
[Link]();
}
}
}
17. Matrix Addition
Input n, m, then two matrices; print their sum.
Python
n, m = map(int, input().split())
A = [list(map(int, input().split())) for _ in range(n)]
B = [list(map(int, input().split())) for _ in range(n)]
for i in range(n):
print(*[A[i][j] + B[i][j] for j in range(m)])
Java
import [Link].*;
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
int n = [Link](), m = [Link](); int[][] A = new int[n][m];
for (int i = 0; i < n; i++) for (int j = 0; j < m; j++) A[i][j] = [Link]();
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
int sum = A[i][j] + [Link]();
[Link](sum + (j == m - 1 ? "" : " "));
}
[Link]();
}
}
}
18. Find Missing Number
Array contains numbers 1 to n with one missing.
Python
n = int(input())
a = list(map(int, input().split()))
expected = n * (n + 1) // 2
print(expected - sum(a))
Java
import [Link].*;
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
int n = [Link](); long sum = 0;
for (int i = 0; i < n - 1; i++) sum += [Link]();
[Link]((long)n * (n + 1) / 2 - sum);
}
}
19. Maximum Sum Subarray
Kadane algorithm; print maximum contiguous subarray sum.
Python
n = int(input())
a = list(map(int, input().split()))
best = cur = a[0]
for x in a[1:]:
cur = max(x, cur + x)
best = max(best, cur)
print(best)
Java
import [Link].*;
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
int n = [Link](); long cur = [Link](), best = cur;
for (int i = 1; i < n; i++) {
long x = [Link](); cur = [Link](x, cur + x); best = [Link](best, cur);
}
[Link](best);
}
}
20. Basic Recursion - Sum of First n Numbers
Find 1 + 2 + ... + n using recursion.
Python
def sum_n(n):
if n == 0:
return 0
return n + sum_n(n - 1)
n = int(input())
print(sum_n(n))
Java
import [Link].*;
class Main {
static long sumN(long n) {
if (n == 0) return 0;
return n + sumN(n - 1);
}
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
long n = [Link]();
[Link](sumN(n));
}
}