Get free ebooK with 50 must do coding Question for Product Based Companies solved
Fill the details & get ebook over email
Thank You!
We have sent the Ebook on 50 Must Do Coding Questions for Product Based Companies Solved over your email. All the best!

Infosys Coding Questions and Answers

Last Updated on February 20, 2023 by Prepbytes

There are many reasons that drive one candidate to join Infosys such as career stability, better working conditions, competitive salary, Global experience, innovation, social responsibility, and diversity. But one cannot get placed in Infosys directly he has to follow the interview process in that there are various interview rounds and he has to clear each interview round to get placed in Infosys.
Among all the interview rounds there are many topics or domains that are covered or tested like aptitude, technical knowledge, and coding questions. In this blog, we will discuss some of the coding questions that are asked in Infosys.

Infosys Coding Questions

Here is the list of some of the commonly asked Infosys Coding Questions.

1. Write a program in C++ to quickly swap two arrays.

Sample Input

a[] = {11, 12,13,14}
b[] = {15, 16, 17, 18}

Sample Output

a[] = {15, 16, 17, 18}
b[] = {11, 12, 13, 14}
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
// Illustrating the use of swap function
// to swap two arrays
#include <iostream>
#include <utility>
using namespace std;
int main ()
{
int a[] = {11, 12, 13, 14};
int b[] = {15, 16, 17, 18};
int n = sizeof(a)/sizeof(a[0]);
swap(a, b);
cout << "a[] = ";
for (int i=0; i<n; i++)
cout << a[i] << ", ";
cout << "\nb[] = ";
for (int i=0; i<n; i++)
cout << b[i] << ", ";
return 0;
}
// Illustrating the use of swap function // to swap two arrays #include <iostream> #include <utility> using namespace std; int main () { int a[] = {11, 12, 13, 14}; int b[] = {15, 16, 17, 18}; int n = sizeof(a)/sizeof(a[0]); swap(a, b); cout << "a[] = "; for (int i=0; i<n; i++) cout << a[i] << ", "; cout << "\nb[] = "; for (int i=0; i<n; i++) cout << b[i] << ", "; return 0; }
// Illustrating the use of swap function
// to swap two arrays
#include <iostream>
#include <utility>
using namespace std;

int main ()
{
    int a[] = {11, 12, 13, 14};
    int b[] = {15, 16, 17, 18};
    int n = sizeof(a)/sizeof(a[0]);

    swap(a, b);

    cout << "a[] = ";
    for (int i=0; i<n; i++)
        cout << a[i] << ", ";

    cout << "\nb[] = ";
    for (int i=0; i<n; i++)
        cout << b[i] << ", ";

    return 0;
}

Output

a[] = 15, 16, 17, 18, 
b[] = 11, 12, 13, 14,

2. Write a Program to sort a string of characters

Sample Input

s=”prepbytes”

Sample Output

s=”beepprsty”
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#include<bits/stdc++.h>
using namespace std;
const int MAX_CHAR = 26;
void sortString(string &str)
{
int charCount[MAX_CHAR] = {0};
for (int i=0; i<str.length(); i++)
charCount[str[i]-'a']++;
for (int i=0;i<MAX_CHAR;i++)
for (int j=0;j<charCount[i];j++)
cout << (char)('a'+i);
}
int main()
{
string s = "prepbytes";
sortString(s);
return 0;
}
#include<bits/stdc++.h> using namespace std; const int MAX_CHAR = 26; void sortString(string &str) { int charCount[MAX_CHAR] = {0}; for (int i=0; i<str.length(); i++) charCount[str[i]-'a']++; for (int i=0;i<MAX_CHAR;i++) for (int j=0;j<charCount[i];j++) cout << (char)('a'+i); } int main() { string s = "prepbytes"; sortString(s); return 0; }
#include<bits/stdc++.h>
using namespace std;

const int MAX_CHAR = 26;

void sortString(string &str)
{
    
    int charCount[MAX_CHAR] = {0};
    
    for (int i=0; i<str.length(); i++)

    
        charCount[str[i]-'a']++;
    
    for (int i=0;i<MAX_CHAR;i++)
        for (int j=0;j<charCount[i];j++)
            cout << (char)('a'+i);
}

int main()
{
    string s = "prepbytes";
    sortString(s);
    return 0;
}
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
class SortString{
static final int MAX_CHAR = 26;
static void sortString(String str) {
int letters[] = new int[MAX_CHAR];
for (char x : str.toCharArray()) {
letters[x - 'a']++;
}
for (int i = 0; i < MAX_CHAR; i++) {
for (int j = 0; j < letters[i]; j++) {
System.out.print((char) (i + 'a'));
}
}
}
public static void main(String[] args) {
sortString("prepbytes");
}
}
class SortString{ static final int MAX_CHAR = 26; static void sortString(String str) { int letters[] = new int[MAX_CHAR]; for (char x : str.toCharArray()) { letters[x - 'a']++; } for (int i = 0; i < MAX_CHAR; i++) { for (int j = 0; j < letters[i]; j++) { System.out.print((char) (i + 'a')); } } } public static void main(String[] args) { sortString("prepbytes"); } }
 class SortString{
    static final int MAX_CHAR = 26;

    static void sortString(String str) {

        int letters[] = new int[MAX_CHAR];

    
        for (char x : str.toCharArray()) {

    
            letters[x - 'a']++;
        }

    
        for (int i = 0; i < MAX_CHAR; i++) {
            for (int j = 0; j < letters[i]; j++) {
                System.out.print((char) (i + 'a'));
            }
        }
    }

    public static void main(String[] args) {
        sortString("prepbytes");
    }
}
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
MAX_CHAR = 26
def sortString(str):
charCount = [0 for i in range(MAX_CHAR)]
for i in range(0, len(str), 1):
charCount[ord(str[i]) - ord('a')] += 1
for i in range(0, MAX_CHAR, 1):
for j in range(0, charCount[i], 1):
print(chr(ord('a') + i), end = "")
if __name__ == '__main__':
s = "prepbytes"
sortString(s)
MAX_CHAR = 26 def sortString(str): charCount = [0 for i in range(MAX_CHAR)] for i in range(0, len(str), 1): charCount[ord(str[i]) - ord('a')] += 1 for i in range(0, MAX_CHAR, 1): for j in range(0, charCount[i], 1): print(chr(ord('a') + i), end = "") if __name__ == '__main__': s = "prepbytes" sortString(s)
MAX_CHAR = 26

def sortString(str):
    

    charCount = [0 for i in range(MAX_CHAR)]
    
    
    for i in range(0, len(str), 1):
        
    
        charCount[ord(str[i]) - ord('a')] += 1
    

    for i in range(0, MAX_CHAR, 1):
        for j in range(0, charCount[i], 1):
            print(chr(ord('a') + i), end = "")

if __name__ == '__main__':
    s = "prepbytes"
    sortString(s)
    

Output

beepprsty

3. Write a program to count the number of unique characters in a given string.

Sample Input

s=”prepbytes”

Sample Output

7
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#include <bits/stdc++.h>
using namespace std;
int cntDistinct(string str)
{
unordered_set<char> s;
for (int i = 0; i < str.size(); i++) {
s.insert(str[i]);
}
return s.size();
}
int main()
{
string str = "prepbytes";
cout << cntDistinct(str);
return 0;
}
#include <bits/stdc++.h> using namespace std; int cntDistinct(string str) { unordered_set<char> s; for (int i = 0; i < str.size(); i++) { s.insert(str[i]); } return s.size(); } int main() { string str = "prepbytes"; cout << cntDistinct(str); return 0; }
#include <bits/stdc++.h>
using namespace std;

int cntDistinct(string str)
{

    unordered_set<char> s;

    for (int i = 0; i < str.size(); i++) {

        
        s.insert(str[i]);
    }

    return s.size();
}

int main()
{
    string str = "prepbytes";
    cout << cntDistinct(str);

    return 0;
}
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
import java.util.*;
class Prepbytes{
static int cntDistinct(String str)
{
HashSet<Character> s = new HashSet<Character>();
for(int i = 0; i < str.length(); i++)
{
s.add(str.charAt(i));
}
return s.size();
}
public static void main(String args[])
{
String str = "prepbytes";
System.out.print(cntDistinct(str));
}
}
import java.util.*; class Prepbytes{ static int cntDistinct(String str) { HashSet<Character> s = new HashSet<Character>(); for(int i = 0; i < str.length(); i++) { s.add(str.charAt(i)); } return s.size(); } public static void main(String args[]) { String str = "prepbytes"; System.out.print(cntDistinct(str)); } }
import java.util.*;

class Prepbytes{


static int cntDistinct(String str)
{
    

    HashSet<Character> s = new HashSet<Character>();

    for(int i = 0; i < str.length(); i++)
    {
        
    
        s.add(str.charAt(i));
    }

    return s.size();
}

public static void main(String args[])
{
    String str = "prepbytes";
    System.out.print(cntDistinct(str));
}
}

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
def cntDistinct(st):
s = set([])
for i in range(len(st)):
s.add(st[i])
return len(s)
if __name__ == "__main__":
st = "prepbytes"
print(cntDistinct(st))
def cntDistinct(st): s = set([]) for i in range(len(st)): s.add(st[i]) return len(s) if __name__ == "__main__": st = "prepbytes" print(cntDistinct(st))
def cntDistinct(st):

    s = set([])

    for i in range(len(st)):


        s.add(st[i])

    return len(s)

if __name__ == "__main__":

    st = "prepbytes"
    print(cntDistinct(st))

Output

7

4. Write a program to multiply two matrices and print the result through another matrix.

Sample Input

m1[m][n] = { {1, 1}, {2, 2} }
m2[n][p] = { {1, 1}, {2, 2} }

Sample Output

result[m][p] = { {3, 3}, {6, 6} }
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#include <bits/stdc++.h>
using namespace std;
#define R1 2
#define C1 2
#define R2 2
#define C2 2
void mulMat(int mat1[][C1], int mat2[][C2])
{
int rslt[R1][C2];
cout << "Multiplication of given two matrices is:\n";
for (int i = 0; i < R1; i++) {
for (int j = 0; j < C2; j++) {
rslt[i][j] = 0;
for (int k = 0; k < R2; k++) {
rslt[i][j] += mat1[i][k] * mat2[k][j];
}
cout << rslt[i][j] << "\t";
}
cout << endl;
}
}
int main()
{
int mat1[R1][C1] = { { 4, 4 },
{ 5, 3 } };
int mat2[R2][C2] = { { 4, 7 },
{ 6, 2 } };
if (C1 != R2) {
cout << "The number of columns in Matrix-1 must "
"be equal to the number of rows in "
"Matrix-2"
<< endl;
cout << "Please update MACROs according to your "
"array dimension in #define section"
<< endl;
exit(EXIT_FAILURE);
}
mulMat(mat1, mat2);
return 0;
}
#include <bits/stdc++.h> using namespace std; #define R1 2 #define C1 2 #define R2 2 #define C2 2 void mulMat(int mat1[][C1], int mat2[][C2]) { int rslt[R1][C2]; cout << "Multiplication of given two matrices is:\n"; for (int i = 0; i < R1; i++) { for (int j = 0; j < C2; j++) { rslt[i][j] = 0; for (int k = 0; k < R2; k++) { rslt[i][j] += mat1[i][k] * mat2[k][j]; } cout << rslt[i][j] << "\t"; } cout << endl; } } int main() { int mat1[R1][C1] = { { 4, 4 }, { 5, 3 } }; int mat2[R2][C2] = { { 4, 7 }, { 6, 2 } }; if (C1 != R2) { cout << "The number of columns in Matrix-1 must " "be equal to the number of rows in " "Matrix-2" << endl; cout << "Please update MACROs according to your " "array dimension in #define section" << endl; exit(EXIT_FAILURE); } mulMat(mat1, mat2); return 0; }
#include <bits/stdc++.h>
using namespace std;


#define R1 2 
#define C1 2 
#define R2 2 
#define C2 2 

void mulMat(int mat1[][C1], int mat2[][C2])
{
    int rslt[R1][C2];

    cout << "Multiplication of given two matrices is:\n";

    for (int i = 0; i < R1; i++) {
        for (int j = 0; j < C2; j++) {
            rslt[i][j] = 0;

            for (int k = 0; k < R2; k++) {
                rslt[i][j] += mat1[i][k] * mat2[k][j];
            }

            cout << rslt[i][j] << "\t";
        }

        cout << endl;
    }
}

int main()
{
    int mat1[R1][C1] = { { 4, 4 },
                        { 5, 3 } };

    int mat2[R2][C2] = { { 4, 7 },
                        { 6, 2 } };

    if (C1 != R2) {
        cout << "The number of columns in Matrix-1 must "
                "be equal to the number of rows in "
                "Matrix-2"
            << endl;
        cout << "Please update MACROs according to your "
                "array dimension in #define section"
            << endl;

        exit(EXIT_FAILURE);
    }

    mulMat(mat1, mat2);

    return 0;
}

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
import java.io.*;
import java.util.*;
class Prepbytes {
static int R1 = 2;
static int C1 = 2;
static int R2 = 2;
static int C2 = 2;
static void mulMat(int[][] mat1, int[][] mat2)
{
int[][] rslt = new int[R1][C2];
System.out.println(
"Multiplication of given two matrices is:");
int i, j, k;
for (i = 0; i < R1; i++) {
for (j = 0; j < C2; j++) {
rslt[i][j] = 0;
for (k = 0; k < R2; k++)
rslt[i][j] += mat1[i][k] * mat2[k][j];
System.out.print(rslt[i][j] + " ");
}
System.out.println("");
}
}
public static void main(String[] args)
{
int[][] mat1 = { { 4, 4 },
{ 5, 3 } };
int[][] mat2 = { { 4, 7 },
{ 6, 2 } };
if (C1 != R2) {
System.out.println(
"The number of columns in Matrix-1 must be equal to the number of rows in Matrix-2");
System.out.println(
"Please update the global variables according to your array dimension");
}
else {
mulMat(mat1, mat2);
}
}
}
import java.io.*; import java.util.*; class Prepbytes { static int R1 = 2; static int C1 = 2; static int R2 = 2; static int C2 = 2; static void mulMat(int[][] mat1, int[][] mat2) { int[][] rslt = new int[R1][C2]; System.out.println( "Multiplication of given two matrices is:"); int i, j, k; for (i = 0; i < R1; i++) { for (j = 0; j < C2; j++) { rslt[i][j] = 0; for (k = 0; k < R2; k++) rslt[i][j] += mat1[i][k] * mat2[k][j]; System.out.print(rslt[i][j] + " "); } System.out.println(""); } } public static void main(String[] args) { int[][] mat1 = { { 4, 4 }, { 5, 3 } }; int[][] mat2 = { { 4, 7 }, { 6, 2 } }; if (C1 != R2) { System.out.println( "The number of columns in Matrix-1 must be equal to the number of rows in Matrix-2"); System.out.println( "Please update the global variables according to your array dimension"); } else { mulMat(mat1, mat2); } } }
import java.io.*;
import java.util.*;

class Prepbytes {

    static int R1 = 2; 
    static int C1 = 2;  
    static int R2 = 2;  
    static int C2 = 2;  

    
    static void mulMat(int[][] mat1, int[][] mat2)
    {
        
        int[][] rslt = new int[R1][C2];
        System.out.println(
            "Multiplication of given two matrices is:");
        int i, j, k;
        for (i = 0; i < R1; i++) {
            for (j = 0; j < C2; j++) {
                rslt[i][j] = 0;
                for (k = 0; k < R2; k++)
                    rslt[i][j] += mat1[i][k] * mat2[k][j];
                System.out.print(rslt[i][j] + " ");
            }
            System.out.println("");
        }
    }

    public static void main(String[] args)
    {
        int[][] mat1 = { { 4, 4 },
                        { 5, 3 } };

        int[][] mat2 = { { 4, 7 },
                        { 6, 2 } };


        if (C1 != R2) {
            System.out.println(
                "The number of columns in Matrix-1 must be equal to the number of rows in Matrix-2");
            System.out.println(
                "Please update the global variables according to your array dimension");
        }
        else {
        
            mulMat(mat1, mat2);
        }
    }
}
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
def mulMat(mat1, mat2, R1, R2, C1, C2):
rslt = [[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]]
for i in range(0, R1):
for j in range(0, C2):
for k in range(0, R2):
rslt[i][j] += mat1[i][k] * mat2[k][j]
print("Multiplication of given two matrices is:")
for i in range(0, R1):
for j in range(0, C2):
print(rslt[i][j], end=" ")
print("\n", end="")
if __name__ == '__main__':
R1 = 2
R2 = 2
C1 = 2
C2 = 2
mat1 = [[4, 4],
[5, 3]]
mat2 = [[4, 7],
[6, 2]]
if C1 != R2:
print("The number of columns in Matrix-1 must be equal to the number of rows in " + "Matrix-2", end='')
print("\n", end='')
print("Please update MACROs according to your array dimension in #define section", end='')
print("\n", end='')
else:
mulMat(mat1, mat2, R1, R2, C1, C2)
def mulMat(mat1, mat2, R1, R2, C1, C2): rslt = [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]] for i in range(0, R1): for j in range(0, C2): for k in range(0, R2): rslt[i][j] += mat1[i][k] * mat2[k][j] print("Multiplication of given two matrices is:") for i in range(0, R1): for j in range(0, C2): print(rslt[i][j], end=" ") print("\n", end="") if __name__ == '__main__': R1 = 2 R2 = 2 C1 = 2 C2 = 2 mat1 = [[4, 4], [5, 3]] mat2 = [[4, 7], [6, 2]] if C1 != R2: print("The number of columns in Matrix-1 must be equal to the number of rows in " + "Matrix-2", end='') print("\n", end='') print("Please update MACROs according to your array dimension in #define section", end='') print("\n", end='') else: mulMat(mat1, mat2, R1, R2, C1, C2)
def mulMat(mat1, mat2, R1, R2, C1, C2):
    rslt = [[0, 0, 0, 0],
            [0, 0, 0, 0],
            [0, 0, 0, 0],
            [0, 0, 0, 0]]

    for i in range(0, R1):
        for j in range(0, C2):
            for k in range(0, R2):
                rslt[i][j] += mat1[i][k] * mat2[k][j]

    print("Multiplication of given two matrices is:")
    for i in range(0, R1):
        for j in range(0, C2):
            print(rslt[i][j], end=" ")
        print("\n", end="")


if __name__ == '__main__':
    R1 = 2
    R2 = 2
    C1 = 2
    C2 = 2
    
    mat1 = [[4, 4],
        [5, 3]]
    

    mat2 = [[4, 7],
        [6, 2]]

    if C1 != R2:
        print("The number of columns in Matrix-1 must be equal to the number of rows in " + "Matrix-2", end='')
        print("\n", end='')
        print("Please update MACROs according to your array dimension in #define section", end='')
        print("\n", end='')
    else:
        mulMat(mat1, mat2, R1, R2, C1, C2)

Output

Multiplication of given two matrices is:
40 36 
38 41

5. Given a string find the next permutation of the given string in C++.

Sample Input

s=”dcd”

Sample Output

s=”ddc”
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#include <iostream>
using namespace std;
void swap(char* a, char* b)
{
if (*a == *b)
return;
*a ^= *b;
*b ^= *a;
*a ^= *b;
}
void rev(string& s, int l, int r)
{
while (l < r)
swap(&s[l++], &s[r--]);
}
int bsearch(string& s, int l, int r, int key)
{
int index = -1;
while (l <= r) {
int mid = l + (r - l) / 2;
if (s[mid] <= key)
r = mid - 1;
else {
l = mid + 1;
if (index == -1 || s[index] >= s[mid])
index = mid;
}
}
return index;
}
bool nextpermutation(string& s)
{
int len = s.length(), i = len - 2;
while (i >= 0 && s[i] >= s[i + 1])
--i;
if (i < 0)
return false;
else {
int index = bsearch(s, i + 1, len - 1, s[i]);
swap(&s[i], &s[index]);
rev(s, i + 1, len - 1);
return true;
}
}
int main()
{
string s = { "prepbytes" };
bool val = nextpermutation(s);
if (val == false)
cout << "No Word Possible" << endl;
else
cout << s << endl;
return 0;
}
#include <iostream> using namespace std; void swap(char* a, char* b) { if (*a == *b) return; *a ^= *b; *b ^= *a; *a ^= *b; } void rev(string& s, int l, int r) { while (l < r) swap(&s[l++], &s[r--]); } int bsearch(string& s, int l, int r, int key) { int index = -1; while (l <= r) { int mid = l + (r - l) / 2; if (s[mid] <= key) r = mid - 1; else { l = mid + 1; if (index == -1 || s[index] >= s[mid]) index = mid; } } return index; } bool nextpermutation(string& s) { int len = s.length(), i = len - 2; while (i >= 0 && s[i] >= s[i + 1]) --i; if (i < 0) return false; else { int index = bsearch(s, i + 1, len - 1, s[i]); swap(&s[i], &s[index]); rev(s, i + 1, len - 1); return true; } } int main() { string s = { "prepbytes" }; bool val = nextpermutation(s); if (val == false) cout << "No Word Possible" << endl; else cout << s << endl; return 0; }
#include <iostream>

using namespace std;

void swap(char* a, char* b)
{
    if (*a == *b)
        return;
    *a ^= *b;
    *b ^= *a;
    *a ^= *b;
}
void rev(string& s, int l, int r)
{
    while (l < r)
        swap(&s[l++], &s[r--]);
}

int bsearch(string& s, int l, int r, int key)
{
    int index = -1;
    while (l <= r) {
        int mid = l + (r - l) / 2;
        if (s[mid] <= key)
            r = mid - 1;
        else {
            l = mid + 1;
            if (index == -1 || s[index] >= s[mid])
                index = mid;
        }
    }
    return index;
}

bool nextpermutation(string& s)
{
    int len = s.length(), i = len - 2;
    while (i >= 0 && s[i] >= s[i + 1])
        --i;
    if (i < 0)
        return false;
    else {
        int index = bsearch(s, i + 1, len - 1, s[i]);
        swap(&s[i], &s[index]);
        rev(s, i + 1, len - 1);
        return true;
    }
}

int main()
{
    string s = { "prepbytes" };
    bool val = nextpermutation(s);
    if (val == false)
        cout << "No Word Possible" << endl;
    else
        cout << s << endl;
    return 0;
}

Output

prepbytse

6. Write a program to find the area of the incircle of a right angles triangle.

Sample Input

P = 5, B = 12, H = 13 

Sample Output

12.56 
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#include <bits/stdc++.h>
using namespace std;
#define PI 3.14159265
float area_inscribed(float P, float B, float H)
{
return ((P + B - H) * (P + B - H) * (PI / 4));
}
int main()
{
float P = 3, B = 4, H = 5;
cout << area_inscribed(P, B, H) << endl;
return 0;
}
#include <bits/stdc++.h> using namespace std; #define PI 3.14159265 float area_inscribed(float P, float B, float H) { return ((P + B - H) * (P + B - H) * (PI / 4)); } int main() { float P = 3, B = 4, H = 5; cout << area_inscribed(P, B, H) << endl; return 0; }
#include <bits/stdc++.h>
using namespace std;
#define PI 3.14159265

float area_inscribed(float P, float B, float H)
{
    return ((P + B - H) * (P + B - H) * (PI / 4));
}


int main()
{
    float P = 3, B = 4, H = 5;
    cout << area_inscribed(P, B, H) << endl;

    return 0;
}

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
import java.lang.*;
class Prepbytes {
static double PI = 3.14159265;
public static double area_inscribed(double P, double B,
double H)
{
return ((P + B - H) * (P + B - H) * (PI / 4));
}
public static void main(String[] args)
{
double P = 3, B = 4, H = 5;
System.out.println(area_inscribed(P, B, H));
}
}
import java.lang.*; class Prepbytes { static double PI = 3.14159265; public static double area_inscribed(double P, double B, double H) { return ((P + B - H) * (P + B - H) * (PI / 4)); } public static void main(String[] args) { double P = 3, B = 4, H = 5; System.out.println(area_inscribed(P, B, H)); } }
import java.lang.*;

class Prepbytes {

    static double PI = 3.14159265;

    public static double area_inscribed(double P, double B,
                                        double H)
    {
        return ((P + B - H) * (P + B - H) * (PI / 4));
    }

    public static void main(String[] args)
    {
        double P = 3, B = 4, H = 5;
        System.out.println(area_inscribed(P, B, H));
    }
}
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
PI = 3.14159265
def area_inscribed(P, B, H):
return ((P + B - H)*(P + B - H)*(PI / 4))
P = 3
B = 4
H = 5
print(area_inscribed(P, B, H))
PI = 3.14159265 def area_inscribed(P, B, H): return ((P + B - H)*(P + B - H)*(PI / 4)) P = 3 B = 4 H = 5 print(area_inscribed(P, B, H))
PI = 3.14159265

def area_inscribed(P, B, H):
    return ((P + B - H)*(P + B - H)*(PI / 4))

P = 3
B = 4
H = 5
print(area_inscribed(P, B, H))

7. Write a program that will find the missing characters that are needed to make the string a panagram.

Sample Input

welcome to prepbytes

Sample Output

adfghijknquvxz
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#include<bits/stdc++.h>
using namespace std;
const int MAX_CHAR = 26;
string missingChars(string str)
{
bool present[MAX_CHAR] = {false};
for (int i=0; i<str.length(); i++)
{
if (str[i] >= 'a' && str[i] <= 'z')
present[str[i]-'a'] = true;
else if (str[i] >= 'A' && str[i] <= 'Z')
present[str[i]-'A'] = true;
}
string res = "";
for (int i=0; i<MAX_CHAR; i++)
if (present[i] == false)
res.push_back((char)(i+'a'));
return res;
}
int main()
{
string str = "Welcome to prepbytes";
cout << missingChars(str);
return 0;
}
#include<bits/stdc++.h> using namespace std; const int MAX_CHAR = 26; string missingChars(string str) { bool present[MAX_CHAR] = {false}; for (int i=0; i<str.length(); i++) { if (str[i] >= 'a' && str[i] <= 'z') present[str[i]-'a'] = true; else if (str[i] >= 'A' && str[i] <= 'Z') present[str[i]-'A'] = true; } string res = ""; for (int i=0; i<MAX_CHAR; i++) if (present[i] == false) res.push_back((char)(i+'a')); return res; } int main() { string str = "Welcome to prepbytes"; cout << missingChars(str); return 0; }
#include<bits/stdc++.h>
using namespace std;
const int MAX_CHAR = 26;


string missingChars(string str)
{
    bool present[MAX_CHAR] = {false};

    for (int i=0; i<str.length(); i++)
    {
        if (str[i] >= 'a' && str[i] <= 'z')
            present[str[i]-'a'] = true;
        else if (str[i] >= 'A' && str[i] <= 'Z')
            present[str[i]-'A'] = true;
    }

    string res = "";
    for (int i=0; i<MAX_CHAR; i++)
        if (present[i] == false)
            res.push_back((char)(i+'a'));

    return res;
}

int main()
{
    string str = "Welcome to prepbytes";
    cout << missingChars(str);
    return 0;
}	
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
import java.io.*;
import java.util.ArrayList;
class Prepbytes{
private static ArrayList<Character>missingChars(
String str, int strLength)
{
final int MAX_CHARS = 26;
boolean[] present = new boolean[MAX_CHARS];
ArrayList<Character> charsList = new ArrayList<>();
for(int i = 0; i < strLength; i++)
{
if ('A' <= str.charAt(i) &&
str.charAt(i) <= 'Z')
present[str.charAt(i) - 'A'] = true;
else if ('a' <= str.charAt(i) &&
str.charAt(i) <= 'z')
present[str.charAt(i) - 'a'] = true;
}
for(int i = 0; i < MAX_CHARS; i++)
{
if (present[i] == false)
charsList.add((char)(i + 'a'));
}
return charsList;
}
public static void main(String[] args)
{
String str = "Welcome to prepbytes";
ArrayList<Character> missing = Prepbytes.missingChars(
str, str.length());
if (missing.size() >= 1)
{
for(Character character : missing)
{
System.out.print(character);
}
}
}
}
import java.io.*; import java.util.ArrayList; class Prepbytes{ private static ArrayList<Character>missingChars( String str, int strLength) { final int MAX_CHARS = 26; boolean[] present = new boolean[MAX_CHARS]; ArrayList<Character> charsList = new ArrayList<>(); for(int i = 0; i < strLength; i++) { if ('A' <= str.charAt(i) && str.charAt(i) <= 'Z') present[str.charAt(i) - 'A'] = true; else if ('a' <= str.charAt(i) && str.charAt(i) <= 'z') present[str.charAt(i) - 'a'] = true; } for(int i = 0; i < MAX_CHARS; i++) { if (present[i] == false) charsList.add((char)(i + 'a')); } return charsList; } public static void main(String[] args) { String str = "Welcome to prepbytes"; ArrayList<Character> missing = Prepbytes.missingChars( str, str.length()); if (missing.size() >= 1) { for(Character character : missing) { System.out.print(character); } } } }
import java.io.*;
import java.util.ArrayList;

class Prepbytes{
    
private static ArrayList<Character>missingChars(
    String str, int strLength)
{
    final int MAX_CHARS = 26;
    

    boolean[] present = new boolean[MAX_CHARS];
    ArrayList<Character> charsList = new ArrayList<>();
    

    for(int i = 0; i < strLength; i++)
    {
        if ('A' <= str.charAt(i) &&
                str.charAt(i) <= 'Z')
            present[str.charAt(i) - 'A'] = true;
        else if ('a' <= str.charAt(i) &&
                        str.charAt(i) <= 'z')
            present[str.charAt(i) - 'a'] = true;
    }
    
    
    for(int i = 0; i < MAX_CHARS; i++)
    {
        if (present[i] == false)
            charsList.add((char)(i + 'a'));
    }
    return charsList;
}

public static void main(String[] args)
{
    String str = "Welcome to prepbytes";
                
    ArrayList<Character> missing = Prepbytes.missingChars(
        str, str.length());
        
    if (missing.size() >= 1)
    {
        for(Character character : missing)
        {
            System.out.print(character);
        }
    }
}
}

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
MAX_CHAR = 26
def missingChars(Str):
present = [False for i in range(MAX_CHAR)]
for i in range(len(Str)):
if (Str[i] >= 'a' and Str[i] <= 'z'):
present[ord(Str[i]) - ord('a')] = True
elif (Str[i] >= 'A' and Str[i] <= 'Z'):
present[ord(Str[i]) - ord('A')] = True
res = ""
for i in range(MAX_CHAR):
if (present[i] == False):
res += chr(i + ord('a'))
return res
Str = "Welcome to prepbytes"
print(missingChars(Str))
MAX_CHAR = 26 def missingChars(Str): present = [False for i in range(MAX_CHAR)] for i in range(len(Str)): if (Str[i] >= 'a' and Str[i] <= 'z'): present[ord(Str[i]) - ord('a')] = True elif (Str[i] >= 'A' and Str[i] <= 'Z'): present[ord(Str[i]) - ord('A')] = True res = "" for i in range(MAX_CHAR): if (present[i] == False): res += chr(i + ord('a')) return res Str = "Welcome to prepbytes" print(missingChars(Str))
MAX_CHAR = 26


def missingChars(Str):
    

    present = [False for i in range(MAX_CHAR)]


    for i in range(len(Str)):
        if (Str[i] >= 'a' and Str[i] <= 'z'):
            present[ord(Str[i]) - ord('a')] = True
        elif (Str[i] >= 'A' and Str[i] <= 'Z'):
            present[ord(Str[i]) - ord('A')] = True


    res = ""

    for i in range(MAX_CHAR):
        if (present[i] == False):
            res += chr(i + ord('a'))
            
    return res

Str = "Welcome to prepbytes"

print(missingChars(Str))

Output

adfghijknquvxz

8. Write a program that converts the given temperature of Fahrenheit into celsius.

Sample Input

0

Sample Output

32
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#include <bits/stdc++.h>
using namespace std;
float Cel_To_Fah(float N)
{
return ((N * 9.0 / 5.0) + 32.0);
}
int main()
{
float N = 40.0;
cout << Cel_To_Fah(N);
return 0;
}
#include <bits/stdc++.h> using namespace std; float Cel_To_Fah(float N) { return ((N * 9.0 / 5.0) + 32.0); } int main() { float N = 40.0; cout << Cel_To_Fah(N); return 0; }
#include <bits/stdc++.h>
using namespace std;

float Cel_To_Fah(float N)
{
    return ((N * 9.0 / 5.0) + 32.0);
}

int main()
{
    float N = 40.0;

    cout << Cel_To_Fah(N);
    return 0;
}
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
class Prepbytes {
static float Cel_To_Fah(float N)
{
return ((N * 9.0f / 5.0f) + 32.0f);
}
public static void main(String[] args)
{
float N = 40.0f;
System.out.println(Cel_To_Fah(N));
}
}
class Prepbytes { static float Cel_To_Fah(float N) { return ((N * 9.0f / 5.0f) + 32.0f); } public static void main(String[] args) { float N = 40.0f; System.out.println(Cel_To_Fah(N)); } }
class Prepbytes {


    static float Cel_To_Fah(float N)
    {
        return ((N * 9.0f / 5.0f) + 32.0f);
    }

    public static void main(String[] args)
    {
        float N = 40.0f;
    
        System.out.println(Cel_To_Fah(N));
    }
}

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
def Cel_To_Fah(n):
return (n*1.8)+32
n = 40
print(int(Cel_To_Fah(n)))
def Cel_To_Fah(n): return (n*1.8)+32 n = 40 print(int(Cel_To_Fah(n)))
def Cel_To_Fah(n):

    return (n*1.8)+32



n = 40

print(int(Cel_To_Fah(n)))

Output

104

9. Write a program that will find the sum of all the prime numbers between 1 and N.

Sample Input

10

Sample Output

17
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#include <bits/stdc++.h>
using namespace std;
int sumOfPrimes(int n)
{
bool prime[n + 1];
memset(prime, true, n + 1);
for (int p = 2; p * p <= n; p++) {
if (prime[p] == true) {
for (int i = p * 2; i <= n; i += p)
prime[i] = false;
}
}
int sum = 0;
for (int i = 2; i <= n; i++)
if (prime[i])
sum += i;
return sum;
}
int main()
{
int n = 15;
cout << sumOfPrimes(n);
return 0;
}
#include <bits/stdc++.h> using namespace std; int sumOfPrimes(int n) { bool prime[n + 1]; memset(prime, true, n + 1); for (int p = 2; p * p <= n; p++) { if (prime[p] == true) { for (int i = p * 2; i <= n; i += p) prime[i] = false; } } int sum = 0; for (int i = 2; i <= n; i++) if (prime[i]) sum += i; return sum; } int main() { int n = 15; cout << sumOfPrimes(n); return 0; }
#include <bits/stdc++.h>
using namespace std;

int sumOfPrimes(int n)
{
    bool prime[n + 1];


    memset(prime, true, n + 1);

    for (int p = 2; p * p <= n; p++) {

        
        if (prime[p] == true) {

            for (int i = p * 2; i <= n; i += p)
                prime[i] = false;
        }
    }

    int sum = 0;
    for (int i = 2; i <= n; i++)
        if (prime[i])
            sum += i;
    return sum;
}

int main()
{
    int n = 15;
    cout << sumOfPrimes(n);
    return 0;
}
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
import java.io.*;
import java.util.*;
class Prepbytes {
static int sumOfPrimes(int n)
{
boolean prime[]=new boolean[n + 1];
Arrays.fill(prime, true);
for (int p = 2; p * p <= n; p++) {
if (prime[p] == true) {
for (int i = p * 2; i <= n; i += p)
prime[i] = false;
}
}
int sum = 0;
for (int i = 2; i <= n; i++)
if (prime[i])
sum += i;
return sum;
}
public static void main(String args[])
{
int n = 15;
System.out.print(sumOfPrimes(n));
}
}
import java.io.*; import java.util.*; class Prepbytes { static int sumOfPrimes(int n) { boolean prime[]=new boolean[n + 1]; Arrays.fill(prime, true); for (int p = 2; p * p <= n; p++) { if (prime[p] == true) { for (int i = p * 2; i <= n; i += p) prime[i] = false; } } int sum = 0; for (int i = 2; i <= n; i++) if (prime[i]) sum += i; return sum; } public static void main(String args[]) { int n = 15; System.out.print(sumOfPrimes(n)); } }
import java.io.*;
import java.util.*;

class Prepbytes {
    

    static int sumOfPrimes(int n)
    {
        boolean prime[]=new boolean[n + 1];
    
        Arrays.fill(prime, true);
    
        for (int p = 2; p * p <= n; p++) {
    
            
            if (prime[p] == true) {
    
                for (int i = p * 2; i <= n; i += p)
                    prime[i] = false;
            }
        }
    
        
        int sum = 0;
        for (int i = 2; i <= n; i++)
            if (prime[i])
                sum += i;
        return sum;
    }

    public static void main(String args[])
    {
        int n = 15;
        System.out.print(sumOfPrimes(n));
    }
}

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
def sumOfPrimes(n):
prime = [True] * (n + 1)
p = 2
while p * p <= n:
if prime[p] == True:
i = p * 2
while i <= n:
prime[i] = False
i += p
p += 1
sum = 0
for i in range (2, n + 1):
if(prime[i]):
sum += i
return sum
n = 15
print(sumOfPrimes(n))
def sumOfPrimes(n): prime = [True] * (n + 1) p = 2 while p * p <= n: if prime[p] == True: i = p * 2 while i <= n: prime[i] = False i += p p += 1 sum = 0 for i in range (2, n + 1): if(prime[i]): sum += i return sum n = 15 print(sumOfPrimes(n))
def sumOfPrimes(n):
    prime = [True] * (n + 1)

    
    p = 2
    while p * p <= n:
        if prime[p] == True:
            i = p * 2
            while i <= n:
                prime[i] = False
                i += p
        p += 1
        

    sum = 0
    for i in range (2, n + 1):
        if(prime[i]):
            sum += i
    return sum

n = 15
print(sumOfPrimes(n))

Output

41

10. Write a program to make the largest number from the digits of the array.

Sample Input

{1, 34, 3, 98, 9, 76, 45, 4}

Sample Output

998764543431
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#include <algorithm>
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int myCompare(string X, string Y)
{
string XY = X.append(Y);
string YX = Y.append(X);
return XY.compare(YX) > 0 ? 1 : 0;
}
void printLargest(vector<string> arr)
{
sort(arr.begin(), arr.end(), myCompare);
for (int i = 0; i < arr.size(); i++)
cout << arr[i];
}
int main()
{
vector<string> arr;
arr.push_back("54");
arr.push_back("546");
arr.push_back("548");
arr.push_back("60");
printLargest(arr);
return 0;
}
#include <algorithm> #include <iostream> #include <string> #include <vector> using namespace std; int myCompare(string X, string Y) { string XY = X.append(Y); string YX = Y.append(X); return XY.compare(YX) > 0 ? 1 : 0; } void printLargest(vector<string> arr) { sort(arr.begin(), arr.end(), myCompare); for (int i = 0; i < arr.size(); i++) cout << arr[i]; } int main() { vector<string> arr; arr.push_back("54"); arr.push_back("546"); arr.push_back("548"); arr.push_back("60"); printLargest(arr); return 0; }
#include <algorithm>
#include <iostream>
#include <string>
#include <vector>
using namespace std;

int myCompare(string X, string Y)
{
    string XY = X.append(Y);


    string YX = Y.append(X);


    return XY.compare(YX) > 0 ? 1 : 0;
}


void printLargest(vector<string> arr)
{
    

    sort(arr.begin(), arr.end(), myCompare);

    for (int i = 0; i < arr.size(); i++)
        cout << arr[i];
}

int main()
{
    vector<string> arr;

    arr.push_back("54");
    arr.push_back("546");
    arr.push_back("548");
    arr.push_back("60");
    printLargest(arr);

    return 0;
}
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
import java.util.*;
class Prepbytes {
static void printLargest(Vector<String> arr)
{
Collections.sort(arr, new Comparator<String>()
{
@Override public int compare(String X, String Y)
{
String XY = X + Y;
String YX = Y + X;
return XY.compareTo(YX) > 0 ? -1 : 1;
}
});
Iterator it = arr.iterator();
while (it.hasNext())
System.out.print(it.next());
}
public static void main(String[] args)
{
Vector<String> arr;
arr = new Vector<>();
arr.add("54");
arr.add("546");
arr.add("548");
arr.add("60");
printLargest(arr);
}
}
import java.util.*; class Prepbytes { static void printLargest(Vector<String> arr) { Collections.sort(arr, new Comparator<String>() { @Override public int compare(String X, String Y) { String XY = X + Y; String YX = Y + X; return XY.compareTo(YX) > 0 ? -1 : 1; } }); Iterator it = arr.iterator(); while (it.hasNext()) System.out.print(it.next()); } public static void main(String[] args) { Vector<String> arr; arr = new Vector<>(); arr.add("54"); arr.add("546"); arr.add("548"); arr.add("60"); printLargest(arr); } }
import java.util.*;

class Prepbytes {

    
    static void printLargest(Vector<String> arr)
    {

        Collections.sort(arr, new Comparator<String>()
        {
    
            @Override public int compare(String X, String Y)
            {

                String XY = X + Y;

                String YX = Y + X;

                
                return XY.compareTo(YX) > 0 ? -1 : 1;
            }
        });

        Iterator it = arr.iterator();

        while (it.hasNext())
            System.out.print(it.next());
    }

    public static void main(String[] args)
    {

        Vector<String> arr;
        arr = new Vector<>();

        arr.add("54");
        arr.add("546");
        arr.add("548");
        arr.add("60");
        printLargest(arr);
    }
}
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
def largestNumber(array):
if len(array)==1:
return str(array[0])
for i in range(len(array)):
array[i]=str(array[i])
for i in range(len(array)):
for j in range(1+i,len(array)):
if array[j]+array[i]>array[i]+array[j]:
array[i],array[j]=array[j],array[i]
result=''.join(array)
if(result=='0'*len(result)):
return '0'
else:
return result
a = [54, 546, 548, 60]
print(largestNumber(a))
def largestNumber(array): if len(array)==1: return str(array[0]) for i in range(len(array)): array[i]=str(array[i]) for i in range(len(array)): for j in range(1+i,len(array)): if array[j]+array[i]>array[i]+array[j]: array[i],array[j]=array[j],array[i] result=''.join(array) if(result=='0'*len(result)): return '0' else: return result a = [54, 546, 548, 60] print(largestNumber(a))
def largestNumber(array):

    if len(array)==1:
        return str(array[0])
    for i in range(len(array)):
        array[i]=str(array[i])
    for i in range(len(array)):
        for j in range(1+i,len(array)):
            if array[j]+array[i]>array[i]+array[j]:
                array[i],array[j]=array[j],array[i]

    result=''.join(array)
    if(result=='0'*len(result)):
        return '0'
    else:
        return result
        
        
    a = [54, 546, 548, 60]
    print(largestNumber(a))

Output

6054854654

11. Given an array form a triangle such that the last row of the triangle contains all the elements of the array and the row above it will contain the sum of two elements below it.

Sample Input

arr[] = {4, 7, 3, 6, 7};

Sample Output

81
40 41
21 19 22
11 10 9 13
4 7 3 6 7
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#include <bits/stdc++.h>
using namespace std;
void printTriangle(int arr[], int n)
{
int tri[n][n];
memset(tri, 0, sizeof(tri));
for (int i = 0; i < n ; i++)
tri[n-1][i] = arr[i];
for (int i = n-2; i >=0; i--)
for (int j = 0; j <= i; j++)
tri[i][j] = tri[i+1][j] + tri[i+1][j+1];
for (int i = 0; i < n; i++)
{
for(int j = 0; j <= i ; j++)
cout << tri[i][j]<<" ";
cout << endl;
}
}
int main()
{
int arr[] = {4, 7, 3, 6, 7, 3};
int n = sizeof(arr)/sizeof(arr[0]);
printTriangle(arr, n);
return 0;
}
#include <bits/stdc++.h> using namespace std; void printTriangle(int arr[], int n) { int tri[n][n]; memset(tri, 0, sizeof(tri)); for (int i = 0; i < n ; i++) tri[n-1][i] = arr[i]; for (int i = n-2; i >=0; i--) for (int j = 0; j <= i; j++) tri[i][j] = tri[i+1][j] + tri[i+1][j+1]; for (int i = 0; i < n; i++) { for(int j = 0; j <= i ; j++) cout << tri[i][j]<<" "; cout << endl; } } int main() { int arr[] = {4, 7, 3, 6, 7, 3}; int n = sizeof(arr)/sizeof(arr[0]); printTriangle(arr, n); return 0; }
#include <bits/stdc++.h>
using namespace std;

void printTriangle(int arr[], int n)
{
    int tri[n][n];
    memset(tri, 0, sizeof(tri));

    for (int i = 0; i < n ; i++)
        tri[n-1][i] = arr[i];

    for (int i = n-2; i >=0; i--)
    for (int j = 0; j <= i; j++)
        tri[i][j] = tri[i+1][j] + tri[i+1][j+1];

    for (int i = 0; i < n; i++)
    {
        for(int j = 0; j <= i ; j++)
            cout << tri[i][j]<<" ";
        cout << endl;
    }
}

int main()
{
    int arr[] = {4, 7, 3, 6, 7, 3};
    int n = sizeof(arr)/sizeof(arr[0]);
    printTriangle(arr, n);
    return 0;
}
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
class Test{
static int arr[] = new int[]{4, 7, 3, 6, 7, 3};
public static void printTriangle(int n)
{
int tri[][] = new int[n][n];
for (int i = 0; i < n ; i++)
tri[n-1][i] = arr[i];
for (int i = n-2; i >=0; i--)
for (int j = 0; j <= i; j++)
tri[i][j] = tri[i+1][j] + tri[i+1][j+1];
for (int i = 0; i < n; i++)
{
for(int j = 0; j <= i ; j++)
System.out.print(tri[i][j] + " ");
System.out.println();
}
}
public static void main(String[] args)
{
printTriangle(arr.length);
}
}
class Test{ static int arr[] = new int[]{4, 7, 3, 6, 7, 3}; public static void printTriangle(int n) { int tri[][] = new int[n][n]; for (int i = 0; i < n ; i++) tri[n-1][i] = arr[i]; for (int i = n-2; i >=0; i--) for (int j = 0; j <= i; j++) tri[i][j] = tri[i+1][j] + tri[i+1][j+1]; for (int i = 0; i < n; i++) { for(int j = 0; j <= i ; j++) System.out.print(tri[i][j] + " "); System.out.println(); } } public static void main(String[] args) { printTriangle(arr.length); } }
class Test{
    
    static int arr[] = new int[]{4, 7, 3, 6, 7, 3};
    
    public static void printTriangle(int n)
    {
        int tri[][] = new int[n][n];
        
        for (int i = 0; i < n ; i++)
            tri[n-1][i] = arr[i];
        
        for (int i = n-2; i >=0; i--)
            for (int j = 0; j <= i; j++)
            tri[i][j] = tri[i+1][j] + tri[i+1][j+1];
        
        for (int i = 0; i < n; i++)
        {
            for(int j = 0; j <= i ; j++)
                System.out.print(tri[i][j] + " ");
            System.out.println();
        }
    }
    
    public static void main(String[] args)
    {
        printTriangle(arr.length);
        }
}
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
def printTriangle(arr, n):
tri = [[0 for i in range(n)]
for i in range(n)]
for i in range(n):
tri[n - 1][i] = arr[i]
i = n - 2
while(i >= 0):
for j in range(0, i + 1, 1):
tri[i][j] = (tri[i + 1][j] +
tri[i + 1][j + 1])
i -= 1
for i in range(0, n, 1):
for j in range(0, i + 1, 1):
print(tri[i][j], end = " ")
print("\n", end = "")
arr = [4, 7, 3, 6, 7, 3]
n = len(arr)
printTriangle(arr, n)
def printTriangle(arr, n): tri = [[0 for i in range(n)] for i in range(n)] for i in range(n): tri[n - 1][i] = arr[i] i = n - 2 while(i >= 0): for j in range(0, i + 1, 1): tri[i][j] = (tri[i + 1][j] + tri[i + 1][j + 1]) i -= 1 for i in range(0, n, 1): for j in range(0, i + 1, 1): print(tri[i][j], end = " ") print("\n", end = "") arr = [4, 7, 3, 6, 7, 3] n = len(arr) printTriangle(arr, n)
def printTriangle(arr, n):
    
    tri = [[0 for i in range(n)]
            for i in range(n)]

    for i in range(n):
        tri[n - 1][i] = arr[i]

    i = n - 2
    while(i >= 0):
        for j in range(0, i + 1, 1):
            tri[i][j] = (tri[i + 1][j] +
                        tri[i + 1][j + 1])
            
        i -= 1

    for i in range(0, n, 1):
        for j in range(0, i + 1, 1):
            print(tri[i][j], end = " ")
        print("\n", end = "")

    arr = [4, 7, 3, 6, 7, 3]
    n = len(arr)
    printTriangle(arr, n)
    

Output

167 
81 86 
40 41 45 
21 19 22 23 
11 10 9 13 10 
4 7 3 6 7 3

12. Given the price of the stock on each day find the maximum profit you can earn by selling them.

Sample Input

arr[] = {100, 180, 260, 310, 40, 535, 695}

Sample Output

865
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#include <bits/stdc++.h>
using namespace std;
int maxProfit(int price[], int start, int end)
{
if (end <= start)
return 0;
int profit = 0;
for (int i = start; i < end; i++) {
for (int j = i + 1; j <= end; j++) {
if (price[j] > price[i]) {
int curr_profit
= price[j] - price[i]
+ maxProfit(price, start, i - 1)
+ maxProfit(price, j + 1, end);
profit = max(profit, curr_profit);
}
}
}
return profit;
}
int main()
{
int price[] = { 100, 180, 260, 310, 40, 535, 695 };
int n = sizeof(price) / sizeof(price[0]);
cout << maxProfit(price, 0, n - 1);
return 0;
}
#include <bits/stdc++.h> using namespace std; int maxProfit(int price[], int start, int end) { if (end <= start) return 0; int profit = 0; for (int i = start; i < end; i++) { for (int j = i + 1; j <= end; j++) { if (price[j] > price[i]) { int curr_profit = price[j] - price[i] + maxProfit(price, start, i - 1) + maxProfit(price, j + 1, end); profit = max(profit, curr_profit); } } } return profit; } int main() { int price[] = { 100, 180, 260, 310, 40, 535, 695 }; int n = sizeof(price) / sizeof(price[0]); cout << maxProfit(price, 0, n - 1); return 0; }
#include <bits/stdc++.h>
using namespace std;


int maxProfit(int price[], int start, int end)
{

    
    if (end <= start)
        return 0;

    int profit = 0;


    for (int i = start; i < end; i++) {

        for (int j = i + 1; j <= end; j++) {

        
            if (price[j] > price[i]) {

                int curr_profit
                    = price[j] - price[i]
                    + maxProfit(price, start, i - 1)
                    + maxProfit(price, j + 1, end);

                profit = max(profit, curr_profit);
            }
        }
    }
    return profit;
}

int main()
{
    int price[] = { 100, 180, 260, 310, 40, 535, 695 };
    int n = sizeof(price) / sizeof(price[0]);

    cout << maxProfit(price, 0, n - 1);

    return 0;
}
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
import java.util.*;
class PrepBytes {
static int maxProfit(int price[], int start, int end)
{
if (end <= start)
return 0;
int profit = 0;
for (int i = start; i < end; i++) {
for (int j = i + 1; j <= end; j++) {
if (price[j] > price[i]) {
int curr_profit
= price[j] - price[i]
+ maxProfit(price, start, i - 1)
+ maxProfit(price, j + 1, end);
profit = Math.max(profit, curr_profit);
}
}
}
return profit;
}
public static void main(String[] args)
{
int price[] = { 100, 180, 260, 310, 40, 535, 695 };
int n = price.length;
System.out.print(maxProfit(price, 0, n - 1));
}
}
import java.util.*; class PrepBytes { static int maxProfit(int price[], int start, int end) { if (end <= start) return 0; int profit = 0; for (int i = start; i < end; i++) { for (int j = i + 1; j <= end; j++) { if (price[j] > price[i]) { int curr_profit = price[j] - price[i] + maxProfit(price, start, i - 1) + maxProfit(price, j + 1, end); profit = Math.max(profit, curr_profit); } } } return profit; } public static void main(String[] args) { int price[] = { 100, 180, 260, 310, 40, 535, 695 }; int n = price.length; System.out.print(maxProfit(price, 0, n - 1)); } }
import java.util.*;

class PrepBytes {

    
    static int maxProfit(int price[], int start, int end)
    {

    
        if (end <= start)
            return 0;

        int profit = 0;

        for (int i = start; i < end; i++) {

            for (int j = i + 1; j <= end; j++) {

                if (price[j] > price[i]) {

                    int curr_profit
                        = price[j] - price[i]
                        + maxProfit(price, start, i - 1)
                        + maxProfit(price, j + 1, end);

                    profit = Math.max(profit, curr_profit);
                }
            }
        }
        return profit;
    }

    public static void main(String[] args)
    {
        int price[] = { 100, 180, 260, 310, 40, 535, 695 };
        int n = price.length;

        System.out.print(maxProfit(price, 0, n - 1));
    }
}

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
def maxProfit(price, start, end):
if (end <= start):
return 0
profit = 0
for i in range(start, end, 1):
for j in range(i+1, end+1):
if (price[j] > price[i]):
curr_profit = price[j] - price[i] +\
maxProfit(price, start, i - 1) + \
maxProfit(price, j + 1, end)
profit = max(profit, curr_profit)
return profit
if __name__ == '__main__':
price = [100, 180, 260, 310, 40, 535, 695]
n = len(price)
print(maxProfit(price, 0, n - 1))
def maxProfit(price, start, end): if (end <= start): return 0 profit = 0 for i in range(start, end, 1): for j in range(i+1, end+1): if (price[j] > price[i]): curr_profit = price[j] - price[i] +\ maxProfit(price, start, i - 1) + \ maxProfit(price, j + 1, end) profit = max(profit, curr_profit) return profit if __name__ == '__main__': price = [100, 180, 260, 310, 40, 535, 695] n = len(price) print(maxProfit(price, 0, n - 1))
def maxProfit(price, start, end):

    if (end <= start):
        return 0

    profit = 0


    for i in range(start, end, 1):

        for j in range(i+1, end+1):

            if (price[j] > price[i]):

                curr_profit = price[j] - price[i] +\
                    maxProfit(price, start, i - 1) + \
                    maxProfit(price, j + 1, end)

                profit = max(profit, curr_profit)

    return profit


if __name__ == '__main__':
    price = [100, 180, 260, 310, 40, 535, 695]
    n = len(price)

    print(maxProfit(price, 0, n - 1))

Output

865

13. You are given a matrix that contains only 0 and 1 find the maximum size of a rectangle that contains only 1.

Sample Input

0 1 1 0
1 1 1 1
1 1 1 1
1 1 0 0

Sample Output

8
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#include <bits/stdc++.h>
using namespace std;
#define R 4
#define C 4
int maxHist(int row[])
{
stack<int> result;
int top_val;
int max_area = 0;
int area = 0;
int i = 0;
while (i < C) {
if (result.empty() || row[result.top()] <= row[i])
result.push(i++);
else {
top_val = row[result.top()];
result.pop();
area = top_val * i;
if (!result.empty())
area = top_val * (i - result.top() - 1);
max_area = max(area, max_area);
}
}
while (!result.empty()) {
top_val = row[result.top()];
result.pop();
area = top_val * i;
if (!result.empty())
area = top_val * (i - result.top() - 1);
max_area = max(area, max_area);
}
return max_area;
}
int maxRectangle(int A[][C])
{
int result = maxHist(A[0]);
for (int i = 1; i < R; i++) {
for (int j = 0; j < C; j++)
if (A[i][j])
A[i][j] += A[i - 1][j];
result = max(result, maxHist(A[i]));
}
return result;
}
int main()
{
int A[][C] = {
{ 0, 1, 1, 0 },
{ 1, 1, 1, 1 },
{ 1, 1, 1, 1 },
{ 1, 1, 0, 0 },
};
cout << "Area of maximum rectangle is "
<< maxRectangle(A);
return 0;
}
#include <bits/stdc++.h> using namespace std; #define R 4 #define C 4 int maxHist(int row[]) { stack<int> result; int top_val; int max_area = 0; int area = 0; int i = 0; while (i < C) { if (result.empty() || row[result.top()] <= row[i]) result.push(i++); else { top_val = row[result.top()]; result.pop(); area = top_val * i; if (!result.empty()) area = top_val * (i - result.top() - 1); max_area = max(area, max_area); } } while (!result.empty()) { top_val = row[result.top()]; result.pop(); area = top_val * i; if (!result.empty()) area = top_val * (i - result.top() - 1); max_area = max(area, max_area); } return max_area; } int maxRectangle(int A[][C]) { int result = maxHist(A[0]); for (int i = 1; i < R; i++) { for (int j = 0; j < C; j++) if (A[i][j]) A[i][j] += A[i - 1][j]; result = max(result, maxHist(A[i])); } return result; } int main() { int A[][C] = { { 0, 1, 1, 0 }, { 1, 1, 1, 1 }, { 1, 1, 1, 1 }, { 1, 1, 0, 0 }, }; cout << "Area of maximum rectangle is " << maxRectangle(A); return 0; }
#include <bits/stdc++.h>
using namespace std;

#define R 4
#define C 4




int maxHist(int row[])
{
    
    stack<int> result;

    int top_val; 

    int max_area = 0; 


    int area = 0;

    int i = 0;
    while (i < C) {
        
        if (result.empty() || row[result.top()] <= row[i])
            result.push(i++);

        else {
        
            top_val = row[result.top()];
            result.pop();
            area = top_val * i;

            if (!result.empty())
                area = top_val * (i - result.top() - 1);
            max_area = max(area, max_area);
        }
    }


    while (!result.empty()) {
        top_val = row[result.top()];
        result.pop();
        area = top_val * i;
        if (!result.empty())
            area = top_val * (i - result.top() - 1);

        max_area = max(area, max_area);
    }
    return max_area;
}


int maxRectangle(int A[][C])
{

    int result = maxHist(A[0]);

    for (int i = 1; i < R; i++) {

        for (int j = 0; j < C; j++)

            if (A[i][j])
                A[i][j] += A[i - 1][j];


        result = max(result, maxHist(A[i]));
    }

    return result;
}

int main()
{
    int A[][C] = {
        { 0, 1, 1, 0 },
        { 1, 1, 1, 1 },
        { 1, 1, 1, 1 },
        { 1, 1, 0, 0 },
    };

    cout << "Area of maximum rectangle is "
        << maxRectangle(A);

    return 0;
}
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
import java.io.*;
import java.util.*;
class PrepBytes {
static int maxHist(int R, int C, int row[])
{
Stack<Integer> result = new Stack<Integer>();
int top_val;
int max_area = 0;
int area = 0;
int i = 0;
while (i < C) {
if (result.empty()
|| row[result.peek()] <= row[i])
result.push(i++);
else {
top_val = row[result.peek()];
result.pop();
area = top_val * i;
if (!result.empty())
area
= top_val * (i - result.peek() - 1);
max_area = Math.max(area, max_area);
}
}
while (!result.empty()) {
top_val = row[result.peek()];
result.pop();
area = top_val * i;
if (!result.empty())
area = top_val * (i - result.peek() - 1);
max_area = Math.max(area, max_area);
}
return max_area;
}
static int maxRectangle(int R, int C, int A[][])
{
int result = maxHist(R, C, A[0]);
for (int i = 1; i < R; i++) {
for (int j = 0; j < C; j++)
if (A[i][j] == 1)
A[i][j] += A[i - 1][j];
result = Math.max(result, maxHist(R, C, A[i]));
}
return result;
}
public static void main(String[] args)
{
int R = 4;
int C = 4;
int A[][] = {
{ 0, 1, 1, 0 },
{ 1, 1, 1, 1 },
{ 1, 1, 1, 1 },
{ 1, 1, 0, 0 },
};
System.out.print("Area of maximum rectangle is "
+ maxRectangle(R, C, A));
}
}
import java.io.*; import java.util.*; class PrepBytes { static int maxHist(int R, int C, int row[]) { Stack<Integer> result = new Stack<Integer>(); int top_val; int max_area = 0; int area = 0; int i = 0; while (i < C) { if (result.empty() || row[result.peek()] <= row[i]) result.push(i++); else { top_val = row[result.peek()]; result.pop(); area = top_val * i; if (!result.empty()) area = top_val * (i - result.peek() - 1); max_area = Math.max(area, max_area); } } while (!result.empty()) { top_val = row[result.peek()]; result.pop(); area = top_val * i; if (!result.empty()) area = top_val * (i - result.peek() - 1); max_area = Math.max(area, max_area); } return max_area; } static int maxRectangle(int R, int C, int A[][]) { int result = maxHist(R, C, A[0]); for (int i = 1; i < R; i++) { for (int j = 0; j < C; j++) if (A[i][j] == 1) A[i][j] += A[i - 1][j]; result = Math.max(result, maxHist(R, C, A[i])); } return result; } public static void main(String[] args) { int R = 4; int C = 4; int A[][] = { { 0, 1, 1, 0 }, { 1, 1, 1, 1 }, { 1, 1, 1, 1 }, { 1, 1, 0, 0 }, }; System.out.print("Area of maximum rectangle is " + maxRectangle(R, C, A)); } }
import java.io.*;
import java.util.*;

class PrepBytes {


    static int maxHist(int R, int C, int row[])
    {
    
        Stack<Integer> result = new Stack<Integer>();

        int top_val;

        int max_area = 0; 

        int area = 0; 

    
        int i = 0;
        while (i < C) {
            
            if (result.empty()
                || row[result.peek()] <= row[i])
                result.push(i++);

            else {
            
                top_val = row[result.peek()];
                result.pop();
                area = top_val * i;

                if (!result.empty())
                    area
                        = top_val * (i - result.peek() - 1);
                max_area = Math.max(area, max_area);
            }
        }

    
        while (!result.empty()) {
            top_val = row[result.peek()];
            result.pop();
            area = top_val * i;
            if (!result.empty())
                area = top_val * (i - result.peek() - 1);

            max_area = Math.max(area, max_area);
        }
        return max_area;
    }

    
    static int maxRectangle(int R, int C, int A[][])
    {
    
        int result = maxHist(R, C, A[0]);


        for (int i = 1; i < R; i++) {

            for (int j = 0; j < C; j++)

                if (A[i][j] == 1)
                    A[i][j] += A[i - 1][j];

        
            result = Math.max(result, maxHist(R, C, A[i]));
        }

        return result;
    }


    public static void main(String[] args)
    {
        int R = 4;
        int C = 4;

        int A[][] = {
            { 0, 1, 1, 0 },
            { 1, 1, 1, 1 },
            { 1, 1, 1, 1 },
            { 1, 1, 0, 0 },
        };
        System.out.print("Area of maximum rectangle is "
                        + maxRectangle(R, C, A));
    }
}

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
class Solution():
def maxHist(self, row):
result = []
# Top of stack
top_val = 0
max_area = 0
area = 0
i = 0
while (i < len(row)):
if (len(result) == 0) or (row[result[-1]] <= row[i]):
result.append(i)
i += 1
else:
top_val = row[result.pop()]
area = top_val * i
if (len(result)):
area = top_val * (i - result[-1] - 1)
max_area = max(area, max_area)
while (len(result)):
top_val = row[result.pop()]
area = top_val * i
if (len(result)):
area = top_val * (i - result[-1] - 1)
max_area = max(area, max_area)
return max_area
def maxRectangle(self, A):
result = self.maxHist(A[0])
for i in range(1, len(A)):
for j in range(len(A[i])):
if (A[i][j]):
A[i][j] += A[i - 1][j]
result = max(result, self.maxHist(A[i]))
return result
if __name__ == '__main__':
A = [[0, 1, 1, 0],
[1, 1, 1, 1],
[1, 1, 1, 1],
[1, 1, 0, 0]]
ans = Solution()
print("Area of maximum rectangle is",
ans.maxRectangle(A))
class Solution(): def maxHist(self, row): result = [] # Top of stack top_val = 0 max_area = 0 area = 0 i = 0 while (i < len(row)): if (len(result) == 0) or (row[result[-1]] <= row[i]): result.append(i) i += 1 else: top_val = row[result.pop()] area = top_val * i if (len(result)): area = top_val * (i - result[-1] - 1) max_area = max(area, max_area) while (len(result)): top_val = row[result.pop()] area = top_val * i if (len(result)): area = top_val * (i - result[-1] - 1) max_area = max(area, max_area) return max_area def maxRectangle(self, A): result = self.maxHist(A[0]) for i in range(1, len(A)): for j in range(len(A[i])): if (A[i][j]): A[i][j] += A[i - 1][j] result = max(result, self.maxHist(A[i])) return result if __name__ == '__main__': A = [[0, 1, 1, 0], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 0, 0]] ans = Solution() print("Area of maximum rectangle is", ans.maxRectangle(A))
class Solution():
    def maxHist(self, row):
    
        result = []

        # Top of stack
        top_val = 0

        max_area = 0

        area = 0 

    
        i = 0
        while (i < len(row)):

        
            if (len(result) == 0) or (row[result[-1]] <= row[i]):
                result.append(i)
                i += 1
            else:

            
                top_val = row[result.pop()]
                area = top_val * i

                if (len(result)):
                    area = top_val * (i - result[-1] - 1)
                max_area = max(area, max_area)

        
        while (len(result)):
            top_val = row[result.pop()]
            area = top_val * i
            if (len(result)):
                area = top_val * (i - result[-1] - 1)

            max_area = max(area, max_area)

        return max_area


    def maxRectangle(self, A):

        
        result = self.maxHist(A[0])


        for i in range(1, len(A)):

            for j in range(len(A[i])):

                
                if (A[i][j]):
                    A[i][j] += A[i - 1][j]

            result = max(result, self.maxHist(A[i]))

        return result


if __name__ == '__main__':
    A = [[0, 1, 1, 0],
        [1, 1, 1, 1],
        [1, 1, 1, 1],
        [1, 1, 0, 0]]
    ans = Solution()

    print("Area of maximum rectangle is",
        ans.maxRectangle(A))

Output

Area of maximum rectangle is 8

14. Given the coordinates of the endpoints of two rectangles find whether they overlap each other or not.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#include <bits/stdc++.h>
struct Point {
int x, y;
};
bool doOverlap(Point l1, Point r1, Point l2, Point r2)
{
if (l1.x == r1.x || l1.y == r1.y || r2.x == l2.x || l2.y == r2.y)
return false;
if (l1.x > r2.x || l2.x > r1.x)
return false;
if (r1.y > l2.y || r2.y > l1.y)
return false;
return true;
}
int main()
{
Point l1 = { 0, 10 }, r1 = { 10, 0 };
Point l2 = { 5, 5 }, r2 = { 15, 0 };
if (doOverlap(l1, r1, l2, r2))
printf("Rectangles Overlap");
else
printf("Rectangles Don't Overlap");
return 0;
}
#include <bits/stdc++.h> struct Point { int x, y; }; bool doOverlap(Point l1, Point r1, Point l2, Point r2) { if (l1.x == r1.x || l1.y == r1.y || r2.x == l2.x || l2.y == r2.y) return false; if (l1.x > r2.x || l2.x > r1.x) return false; if (r1.y > l2.y || r2.y > l1.y) return false; return true; } int main() { Point l1 = { 0, 10 }, r1 = { 10, 0 }; Point l2 = { 5, 5 }, r2 = { 15, 0 }; if (doOverlap(l1, r1, l2, r2)) printf("Rectangles Overlap"); else printf("Rectangles Don't Overlap"); return 0; }
#include <bits/stdc++.h>

struct Point {
    int x, y;
};


bool doOverlap(Point l1, Point r1, Point l2, Point r2)
{
    if (l1.x == r1.x || l1.y == r1.y || r2.x == l2.x || l2.y == r2.y)
        return false;

    if (l1.x > r2.x || l2.x > r1.x)
        return false;

    if (r1.y > l2.y || r2.y > l1.y)
        return false;

    return true;
}

int main()
{
    Point l1 = { 0, 10 }, r1 = { 10, 0 };
    Point l2 = { 5, 5 }, r2 = { 15, 0 };
    if (doOverlap(l1, r1, l2, r2))
        printf("Rectangles Overlap");
    else
        printf("Rectangles Don't Overlap");
    return 0;
}
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
class PrepBytes {
static class Point {
int x, y;
}
static boolean doOverlap(Point l1, Point r1, Point l2, Point r2) {
if (l1.x == r1.x || l1.y == r1.y || r2.x == l2.x || l2.y == r2.y)
return false;
if (l1.x > r2.x || l2.x > r1.x) {
return false;
}
if (r1.y > l2.y || r2.y > l1.y) {
return false;
}
return true;
}
public static void main(String[] args) {
Point l1 = new Point(),r1 = new Point(),
l2 = new Point(),r2 = new Point();
l1.x=0;l1.y=10; r1.x=10;r1.y=0;
l2.x=5;l2.y=5; r2.x=15;r2.y=0;
if (doOverlap(l1, r1, l2, r2)) {
System.out.println("Rectangles Overlap");
} else {
System.out.println("Rectangles Don't Overlap");
}
}
}
class PrepBytes { static class Point { int x, y; } static boolean doOverlap(Point l1, Point r1, Point l2, Point r2) { if (l1.x == r1.x || l1.y == r1.y || r2.x == l2.x || l2.y == r2.y) return false; if (l1.x > r2.x || l2.x > r1.x) { return false; } if (r1.y > l2.y || r2.y > l1.y) { return false; } return true; } public static void main(String[] args) { Point l1 = new Point(),r1 = new Point(), l2 = new Point(),r2 = new Point(); l1.x=0;l1.y=10; r1.x=10;r1.y=0; l2.x=5;l2.y=5; r2.x=15;r2.y=0; if (doOverlap(l1, r1, l2, r2)) { System.out.println("Rectangles Overlap"); } else { System.out.println("Rectangles Don't Overlap"); } } }
class PrepBytes {

static class Point {

        int x, y;
    }

static boolean doOverlap(Point l1, Point r1, Point l2, Point r2) {
        if (l1.x == r1.x || l1.y == r1.y || r2.x == l2.x || l2.y == r2.y)
            return false;
    
        if (l1.x > r2.x || l2.x > r1.x) {
            return false;
        }

        if (r1.y > l2.y || r2.y > l1.y) {
            return false;
        }

        return true;
    }

    public static void main(String[] args) {
        Point l1 = new Point(),r1 = new Point(),
                l2 = new Point(),r2 = new Point();
        l1.x=0;l1.y=10; r1.x=10;r1.y=0;
        l2.x=5;l2.y=5; r2.x=15;r2.y=0;

        if (doOverlap(l1, r1, l2, r2)) {
            System.out.println("Rectangles Overlap");
        } else {
            System.out.println("Rectangles Don't Overlap");
        }
    }
}
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
def do_overlap(l1, r1, l2, r2):
if l1.x == r1.x or l1.y == r1.y or r2.x == l2.x or l2.y == r2.y:
return False
if l1.x > r2.x or l2.x > r1.x:
return False
if r1.y > l2.y or r2.y > l1.y:
return False
return True
if __name__ == "__main__":
l1 = Point(0, 10)
r1 = Point(10, 0)
l2 = Point(5, 5)
r2 = Point(15, 0)
if(do_overlap(l1, r1, l2, r2)):
print("Rectangles Overlap")
else:
print("Rectangles Don't Overlap")
class Point: def __init__(self, x, y): self.x = x self.y = y def do_overlap(l1, r1, l2, r2): if l1.x == r1.x or l1.y == r1.y or r2.x == l2.x or l2.y == r2.y: return False if l1.x > r2.x or l2.x > r1.x: return False if r1.y > l2.y or r2.y > l1.y: return False return True if __name__ == "__main__": l1 = Point(0, 10) r1 = Point(10, 0) l2 = Point(5, 5) r2 = Point(15, 0) if(do_overlap(l1, r1, l2, r2)): print("Rectangles Overlap") else: print("Rectangles Don't Overlap")
class Point:
    def __init__(self, x, y):
        self.x = x
        self.y = y

def do_overlap(l1, r1, l2, r2):
    
    if l1.x == r1.x or l1.y == r1.y or r2.x == l2.x or l2.y == r2.y:
        return False
    
    if l1.x > r2.x or l2.x > r1.x:
        return False

    if r1.y > l2.y or r2.y > l1.y:
        return False

    return True

if __name__ == "__main__":
    l1 = Point(0, 10)
    r1 = Point(10, 0)
    l2 = Point(5, 5)
    r2 = Point(15, 0)

    if(do_overlap(l1, r1, l2, r2)):
        print("Rectangles Overlap")
    else:
        print("Rectangles Don't Overlap")

Output

Rectangles Overlap

15. You are given two strings to find whether we can convert one string to another by rotating in two places.

Sample Input

string1 = “amazon”, string2 = “azonam” 

Sample Output

Yes
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#include<bits/stdc++.h>
using namespace std;
bool isRotated(string str1, string str2)
{
if (str1.length() != str2.length())
return false;
if(str1.length()<2){
return str1.compare(str2) == 0;
}
string clock_rot = "";
string anticlock_rot = "";
int len = str2.length();
anticlock_rot = anticlock_rot +
str2.substr(len-2, 2) +
str2.substr(0, len-2) ;
clock_rot = clock_rot +
str2.substr(2) +
str2.substr(0, 2) ;
return (str1.compare(clock_rot) == 0 ||
str1.compare(anticlock_rot) == 0);
}
int main()
{
string str1 = "prep";
string str2 = " eppr";
isRotated(str1, str2) ? cout << "Yes"
: cout << "No";
return 0;
}
#include<bits/stdc++.h> using namespace std; bool isRotated(string str1, string str2) { if (str1.length() != str2.length()) return false; if(str1.length()<2){ return str1.compare(str2) == 0; } string clock_rot = ""; string anticlock_rot = ""; int len = str2.length(); anticlock_rot = anticlock_rot + str2.substr(len-2, 2) + str2.substr(0, len-2) ; clock_rot = clock_rot + str2.substr(2) + str2.substr(0, 2) ; return (str1.compare(clock_rot) == 0 || str1.compare(anticlock_rot) == 0); } int main() { string str1 = "prep"; string str2 = " eppr"; isRotated(str1, str2) ? cout << "Yes" : cout << "No"; return 0; }
#include<bits/stdc++.h>
using namespace std;

bool isRotated(string str1, string str2)
{
    if (str1.length() != str2.length())
        return false;
    if(str1.length()<2){
    return str1.compare(str2) == 0;
    }
    string clock_rot = "";
    string anticlock_rot = "";
    int len = str2.length();

    anticlock_rot = anticlock_rot +
                    str2.substr(len-2, 2) +
                    str2.substr(0, len-2) ;

    clock_rot = clock_rot +
                str2.substr(2) +
                str2.substr(0, 2) ;

    return (str1.compare(clock_rot) == 0 ||
            str1.compare(anticlock_rot) == 0);
}

int main()
{
    string str1 =  "prep";
    string str2 =  " eppr";

    isRotated(str1, str2) ? cout << "Yes"
                        : cout << "No";
    return 0;
}
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
class Test
{
static boolean isRotated(String str1, String str2)
{
if (str1.length() != str2.length())
return false;
if(str1.length() < 2)
{
return str1.equals(str2);
}
String clock_rot = "";
String anticlock_rot = "";
int len = str2.length();
anticlock_rot = anticlock_rot +
str2.substring(len-2, len) +
str2.substring(0, len-2) ;
clock_rot = clock_rot +
str2.substring(2) +
str2.substring(0, 2) ;
return (str1.equals(clock_rot) ||
str1.equals(anticlock_rot));
}
public static void main(String[] args)
{
String str1 = "prep";
String str2 = " eppr";
System.out.println(isRotated(str1, str2) ? "Yes"
: "No");
}
}
class Test { static boolean isRotated(String str1, String str2) { if (str1.length() != str2.length()) return false; if(str1.length() < 2) { return str1.equals(str2); } String clock_rot = ""; String anticlock_rot = ""; int len = str2.length(); anticlock_rot = anticlock_rot + str2.substring(len-2, len) + str2.substring(0, len-2) ; clock_rot = clock_rot + str2.substring(2) + str2.substring(0, 2) ; return (str1.equals(clock_rot) || str1.equals(anticlock_rot)); } public static void main(String[] args) { String str1 = "prep"; String str2 = " eppr"; System.out.println(isRotated(str1, str2) ? "Yes" : "No"); } }
class Test
{

    static boolean isRotated(String str1, String str2)
    {
        if (str1.length() != str2.length())
            return false;
        if(str1.length() < 2)
        {
            return str1.equals(str2);
        }
    
        String clock_rot = "";
        String anticlock_rot = "";
        int len = str2.length();
    
        anticlock_rot = anticlock_rot +
                        str2.substring(len-2, len) +
                        str2.substring(0, len-2) ;
    
        clock_rot = clock_rot +
                    str2.substring(2) +
                    str2.substring(0, 2) ;
    
        return (str1.equals(clock_rot) ||
                str1.equals(anticlock_rot));
    }
    
    public static void main(String[] args)
    {
        String str1 =  "prep";
    String str2 =  " eppr";
    
        System.out.println(isRotated(str1, str2) ? "Yes"
                            : "No");
    }
}
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
def isRotated(str1, str2):
if (len(str1) != len(str2)):
return False
if(len(str1) < 2):
return str1 == str2
clock_rot = ""
anticlock_rot = ""
l = len(str2)
anticlock_rot = (anticlock_rot + str2[l - 2:] +
str2[0: l - 2])
clock_rot = clock_rot + str2[2:] + str2[0:2]
return (str1 == clock_rot or
str1 == anticlock_rot)
str1 = "prep"
str2 = "eppr"
if isRotated(str1, str2):
print("Yes")
else:
print("No")
def isRotated(str1, str2): if (len(str1) != len(str2)): return False if(len(str1) < 2): return str1 == str2 clock_rot = "" anticlock_rot = "" l = len(str2) anticlock_rot = (anticlock_rot + str2[l - 2:] + str2[0: l - 2]) clock_rot = clock_rot + str2[2:] + str2[0:2] return (str1 == clock_rot or str1 == anticlock_rot) str1 = "prep" str2 = "eppr" if isRotated(str1, str2): print("Yes") else: print("No")
def isRotated(str1, str2):

    if (len(str1) != len(str2)):
        return False
    
    if(len(str1) < 2):
        return str1 == str2
    clock_rot = ""
    anticlock_rot = ""
    l = len(str2)

    anticlock_rot = (anticlock_rot + str2[l - 2:] +
                                    str2[0: l - 2])
    
    clock_rot = clock_rot + str2[2:] + str2[0:2]

    return (str1 == clock_rot or
            str1 == anticlock_rot)


str1 = "prep"
str2 = "eppr"
if isRotated(str1, str2):
    print("Yes")
else:
    print("No")

Output

No

Frequently Asked Questions

1. How many coding questions come in Infosys Exam?
In the Infosys exam, there are three coding questions and they are of different difficulties which you have to attempt within 3 hours.

2. Are the questions which have come in previous years papers will repeat again?
There is a very low probability of repeating the same questions but the concept can be repeated and can be molded into a different question.

3. Is the exam taken offline or online mode?
The exam is taken online mode.

4. Name 3 Programming languages that are allowed in Infosys.
The three languages are:

  • C++
  • Java
  • Python

Leave a Reply

Your email address will not be published. Required fields are marked *