Menu

Navigation

HomeAll CompaniesPrevious Year QuestionsTNP / PlacementsBEU ResultDocumentation

Companies

InfosysTCSWiproAccentureCognizantCapgemini
R's PlacePrep|
CompaniesPYQDocs

Company

Infosys

Content

2025 IRT2024 IRTAptitudeCoding

View Options

Display Mode

Sections

Coding Problems17

Export

PDF

Word

Last updated: Feb 11, 2026

Infosys

Coding

Display Mode

Jump to Section

Coding Problems17

Other Content

2025 IRT2024 IRTAptitudeCoding

Export

PDF

Word

Home/Companies/Infosys/coding
Back to Infosys

Infosys coding

1 sections, 17 questions

Coding Problems

17 questions
Question 1

Find Second Largest

Problem

Find the second largest element in an array.

Solution




Code

C
#include <stdio.h>
#include <limits.h>

int secondLargest(int arr[], int n) {
    int first = INT_MIN, second = INT_MIN;
    for (int i = 0; i < n; i++) {
        if (arr[i] > first) {
            second = first;
            first = arr[i];
        } else if (arr[i] > second && arr[i] != first) {
            second = arr[i];
        }
    }
    return second;
}
Java
public int secondLargest(int[] arr) {
    int first = Integer.MIN_VALUE;
    int second = Integer.MIN_VALUE;
    for (int num : arr) {
        if (num > first) {
            second = first;
            first = num;
        } else if (num > second && num != first) {
            second = num;
        }
    }
    return second;
}
Python
def second_largest(arr):
    first = second = float('-inf')
    for num in arr:
        if num > first:
            second = first
            first = num
        elif num > second and num != first:
            second = num
    return second
Time: O(n)Space: O(1)
Question 2

Reverse Array

Problem

Reverse an array without using extra space.

Solution




Code

C
void reverseArray(int arr[], int n) {
    int start = 0, end = n - 1;
    while (start < end) {
        int temp = arr[start];
        arr[start] = arr[end];
        arr[end] = temp;
        start++;
        end--;
    }
}
Java
public void reverseArray(int[] arr) {
    int start = 0, end = arr.length - 1;
    while (start < end) {
        int temp = arr[start];
        arr[start] = arr[end];
        arr[end] = temp;
        start++;
        end--;
    }
}
Python
def reverse_array(arr):
    start, end = 0, len(arr) - 1
    while start < end:
        arr[start], arr[end] = arr[end], arr[start]
        start += 1
        end -= 1
Time: O(n)Space: O(1)
Question 3

Check Palindrome String

Problem

Check if a string is palindrome (case-insensitive).

Solution




Code

C
#include <ctype.h>
#include <string.h>

int isPalindrome(char str[]) {
    int left = 0, right = strlen(str) - 1;
    while (left < right) {
        if (tolower(str[left]) != tolower(str[right]))
            return 0;
        left++;
        right--;
    }
    return 1;
}
Java
public boolean isPalindrome(String str) {
    str = str.toLowerCase();
    int left = 0, right = str.length() - 1;
    while (left < right) {
        if (str.charAt(left) != str.charAt(right))
            return false;
        left++;
        right--;
    }
    return true;
}
Python
def is_palindrome(s):
    s = s.lower()
    left, right = 0, len(s) - 1
    while left < right:
        if s[left] != s[right]:
            return False
        left += 1
        right -= 1
    return True
Time: O(n)Space: O(1)
Question 4

Remove Duplicates

Problem

Remove duplicates from sorted array, return new length.

Solution




Code

C
int removeDuplicates(int arr[], int n) {
    if (n == 0) return 0;
    int j = 0;
    for (int i = 1; i < n; i++) {
        if (arr[i] != arr[j]) {
            j++;
            arr[j] = arr[i];
        }
    }
    return j + 1;
}
Java
public int removeDuplicates(int[] arr) {
    if (arr.length == 0) return 0;
    int j = 0;
    for (int i = 1; i < arr.length; i++) {
        if (arr[i] != arr[j]) {
            j++;
            arr[j] = arr[i];
        }
    }
    return j + 1;
}
Python
def remove_duplicates(arr):
    if not arr:
        return 0
    j = 0
    for i in range(1, len(arr)):
        if arr[i] != arr[j]:
            j += 1
            arr[j] = arr[i]
    return j + 1
Time: O(n)Space: O(1)
Question 5

Prime Number Check

Problem

Check if a number is prime.

Solution




Code

C
int isPrime(int n) {
    if (n <= 1) return 0;
    if (n <= 3) return 1;
    if (n % 2 == 0 || n % 3 == 0) return 0;
    for (int i = 5; i * i <= n; i += 6) {
        if (n % i == 0 || n % (i + 2) == 0)
            return 0;
    }
    return 1;
}
Java
public boolean isPrime(int n) {
    if (n <= 1) return false;
    if (n <= 3) return true;
    if (n % 2 == 0 || n % 3 == 0) return false;
    for (int i = 5; i * i <= n; i += 6) {
        if (n % i == 0 || n % (i + 2) == 0)
            return false;
    }
    return true;
}
Python
def is_prime(n):
    if n <= 1:
        return False
    if n <= 3:
        return True
    if n % 2 == 0 or n % 3 == 0:
        return False
    i = 5
    while i * i <= n:
        if n % i == 0 or n % (i + 2) == 0:
            return False
        i += 6
    return True
Time: O(√n)Space: O(1)
Question 6

GCD of Two Numbers

Problem

Find GCD (Greatest Common Divisor) of two numbers.

Solution




Code

C
int gcd(int a, int b) {
    if (b == 0) return a;
    return gcd(b, a % b);
}
Java
public int gcd(int a, int b) {
    if (b == 0) return a;
    return gcd(b, a % b);
}
Python
def gcd(a, b):
    if b == 0:
        return a
    return gcd(b, a % b)
Time: O(log(min(a,b)))Space: O(log(min(a,b)))
Question 7

Factorial

Problem

Find factorial of a number.

Solution




Code

C
long long factorial(int n) {
    if (n <= 1) return 1;
    return n * factorial(n - 1);
}
Java
public long factorial(int n) {
    if (n <= 1) return 1;
    return n * factorial(n - 1);
}
Python
def factorial(n):
    if n <= 1:
        return 1
    return n * factorial(n - 1)
Time: O(n)Space: O(n)
Question 8

Fibonacci Series

Problem

Print Fibonacci series up to n terms.

Solution




Code

C
void fibonacci(int n) {
    if (n <= 0) return;
    int a = 0, b = 1;
    printf("%d ", a);
    if (n > 1) printf("%d ", b);
    for (int i = 2; i < n; i++) {
        int c = a + b;
        printf("%d ", c);
        a = b;
        b = c;
    }
}
Java
public void fibonacci(int n) {
    if (n <= 0) return;
    int a = 0, b = 1;
    System.out.print(a + " ");
    if (n > 1) System.out.print(b + " ");
    for (int i = 2; i < n; i++) {
        int c = a + b;
        System.out.print(c + " ");
        a = b;
        b = c;
    }
}
Python
def fibonacci(n):
    if n <= 0:
        return
    a, b = 0, 1
    print(a, end=" ")
    if n > 1:
        print(b, end=" ")
    for i in range(2, n):
        c = a + b
        print(c, end=" ")
        a, b = b, c
Time: O(n)Space: O(1)
Question 9

Anagram Check

Problem

Check if two strings are anagrams.

Solution




Code

C
#include <string.h>
#include <stdlib.h>

int compare(const void *a, const void *b) {
    return *(char*)a - *(char*)b;
}

int isAnagram(char s1[], char s2[]) {
    int len1 = strlen(s1), len2 = strlen(s2);
    if (len1 != len2) return 0;
    qsort(s1, len1, sizeof(char), compare);
    qsort(s2, len2, sizeof(char), compare);
    return strcmp(s1, s2) == 0;
}
Java
public boolean isAnagram(String s1, String s2) {
    if (s1.length() != s2.length()) return false;
    char[] c1 = s1.toCharArray();
    char[] c2 = s2.toCharArray();
    Arrays.sort(c1);
    Arrays.sort(c2);
    return Arrays.equals(c1, c2);
}
Python
def is_anagram(s1, s2):
    if len(s1) != len(s2):
        return False
    return sorted(s1) == sorted(s2)
Time: O(n log n)Space: O(1)
Question 10

Reverse Words

Problem

Reverse words in a string.

Solution



Code

Java
public String reverseWords(String str) {
    String[] words = str.split(" ");
    StringBuilder result = new StringBuilder();
    for (int i = words.length - 1; i >= 0; i--) {
        result.append(words[i]);
        if (i > 0) result.append(" ");
    }
    return result.toString();
}
Python
def reverse_words(s):
    words = s.split()
    return ' '.join(reversed(words))
Time: O(n)Space: O(n)
Question 11

Count Vowels

Problem

Count vowels in a string.

Solution




Code

C
#include <ctype.h>

int countVowels(char str[]) {
    int count = 0;
    for (int i = 0; str[i] != '\0'; i++) {
        char c = tolower(str[i]);
        if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u')
            count++;
    }
    return count;
}
Java
public int countVowels(String str) {
    int count = 0;
    String vowels = "aeiouAEIOU";
    for (char c : str.toCharArray()) {
        if (vowels.indexOf(c) != -1)
            count++;
    }
    return count;
}
Python
def count_vowels(s):
    vowels = "aeiouAEIOU"
    return sum(1 for c in s if c in vowels)
Time: O(n)Space: O(1)
Question 12

Maximum Subarray Sum (Kadane's Algorithm)

Problem

Find maximum sum of contiguous subarray.

Solution




Code

C
int maxSubArraySum(int arr[], int n) {
    int max_sum = arr[0];
    int current_sum = arr[0];
    for (int i = 1; i < n; i++) {
        current_sum = (arr[i] > current_sum + arr[i]) ?
                     arr[i] : current_sum + arr[i];
        max_sum = (current_sum > max_sum) ? current_sum : max_sum;
    }
    return max_sum;
}
Java
public int maxSubArraySum(int[] arr) {
    int maxSum = arr[0];
    int currentSum = arr[0];
    for (int i = 1; i < arr.length; i++) {
        currentSum = Math.max(arr[i], currentSum + arr[i]);
        maxSum = Math.max(maxSum, currentSum);
    }
    return maxSum;
}
Python
def max_subarray_sum(arr):
    max_sum = current_sum = arr[0]
    for i in range(1, len(arr)):
        current_sum = max(arr[i], current_sum + arr[i])
        max_sum = max(max_sum, current_sum)
    return max_sum
Time: O(n)Space: O(1)
Question 13

Two Sum

Problem

Find two numbers that add up to target.

Solution



Code

Java
public int[] twoSum(int[] arr, int target) {
    Map<Integer, Integer> map = new HashMap<>();
    for (int i = 0; i < arr.length; i++) {
        int complement = target - arr[i];
        if (map.containsKey(complement)) {
            return new int[]{map.get(complement), i};
        }
        map.put(arr[i], i);
    }
    return new int[]{};
}
Python
def two_sum(arr, target):
    seen = {}
    for i, num in enumerate(arr):
        complement = target - num
        if complement in seen:
            return [seen[complement], i]
        seen[num] = i
    return []
Time: O(n)Space: O(n)
Question 14

Rotate Array

Problem

Rotate array to right by k positions.

Solution




Code

C
void reverse(int arr[], int start, int end) {
    while (start < end) {
        int temp = arr[start];
        arr[start] = arr[end];
        arr[end] = temp;
        start++;
        end--;
    }
}

void rotate(int arr[], int n, int k) {
    k = k % n;
    reverse(arr, 0, n - 1);
    reverse(arr, 0, k - 1);
    reverse(arr, k, n - 1);
}
Java
public void rotate(int[] arr, int k) {
    k = k % arr.length;
    reverse(arr, 0, arr.length - 1);
    reverse(arr, 0, k - 1);
    reverse(arr, k, arr.length - 1);
}

private void reverse(int[] arr, int start, int end) {
    while (start < end) {
        int temp = arr[start];
        arr[start] = arr[end];
        arr[end] = temp;
        start++;
        end--;
    }
}
Python
def rotate(arr, k):
    k = k % len(arr)
    arr.reverse()
    arr[:k] = reversed(arr[:k])
    arr[k:] = reversed(arr[k:])
Time: O(n)Space: O(1)
Question 15

Print Pyramid Pattern

Problem

Print pyramid pattern with n rows.

Solution




Number Problems

Code

C
void printPyramid(int n) {
    for (int i = 1; i <= n; i++) {
        // Print spaces
        for (int j = 1; j <= n - i; j++)
            printf(" ");
        // Print stars
        for (int j = 1; j <= 2 * i - 1; j++)
            printf("*");
        printf("\n");
    }
}
Python
def print_pyramid(n):
    for i in range(1, n + 1):
        print(" " * (n - i) + "*" * (2 * i - 1))
Question 16

Sum of Digits

Problem

Find sum of digits of a number.

Solution




Code

C
int sumOfDigits(int n) {
    int sum = 0;
    while (n > 0) {
        sum += n % 10;
        n /= 10;
    }
    return sum;
}
Python
def sum_of_digits(n):
    return sum(int(digit) for digit in str(n))
Question 17

Armstrong Number

Problem

Check if a number is Armstrong number.

Solution




Code

C
#include <math.h>

int isArmstrong(int n) {
    int original = n, sum = 0, digits = 0;
    // Count digits
    int temp = n;
    while (temp > 0) {
        digits++;
        temp /= 10;
    }
    // Calculate sum
    while (n > 0) {
        int digit = n % 10;
        sum += pow(digit, digits);
        n /= 10;
    }
    return sum == original;
}
Python
def is_armstrong(n):
    digits = len(str(n))
    return sum(int(d)**digits for d in str(n)) == n

Last updated: 2026-02-11

Radhika's PlacePrep built by Rohan Sharma