Friday, September 24, 2021

Q find sum of diagonal elements in a matrix and then find the absolute difference of the sum and return it.

eg 

2  3  5

1  0  2

4  1  2

left diag sum = 2+0+2=4

right diag sum = 5+0+4=9

absol. diff. 9-4 =5 ans

     


 for(int j = 0; j < numInputs; j++){

    for(int k = 0; k < numInputs; k++){
        cin >> curInput;
        if(j == k){
            leftD += curInput;
        }
        if(j+k == (numInputs-1)){
            rightD += curInput;
        }
    }
}
ans = abs(leftD-rightD);

In java
public static int diagonalDifference(List<List<Integer>> arr) {
    int leftdiagonal = 0, rightdiagonal = 0;
for(int i = 0, j = arr.get(0).size()-1; i < arr.get(0).size(); i++, j--){
        leftdiagonal = leftdiagonal + arr.get(i).get(i);
        rightdiagonal = rightdiagonal + arr.get(i).get(j);
    }
    return Math.abs(leftdiagonal - rightdiagonal);
    }

Sunday, August 1, 2021

reverse a string

You are given a string s. You need to reverse the string.

Example 1:

Input:
s = Geeks
Output: skeeG


 #include<bits/stdc++.h>

using namespace std;



string reverseWord(string str);



int main() {

int t;

cin>>t;

while(t--)

{

string s;

cin >> s;

cout << reverseWord(s) << endl;

}

return 0;

}


// } Driver Code Ends



//User function Template for C++


string reverseWord(string str){

    int len = str.length()-1;

    int i=0;

    while(i<len)

    {

        char c = str[i];

        str[i] = str[len];

        str[len] = c;

        i++;

        len--;

    }

    

  return str;

}

find min max

 Given an array A of size N of integers. Your task is to find the minimum and maximum elements in the array.

 

Answer:

#include <stdio.h>


struct pair {

    long long int min;

    long long int max;

};


struct pair getMinMax(long long int arr[], long long int n) ;


int main() {

    long long int t, n, a[100002], i;

    struct pair minmax;


    scanf("%lld", &t);

    while (t--) {

        scanf("%lld", &n);


        for (i = 0; i < n; i++) scanf("%lld", &a[i]);

        minmax = getMinMax(a, n);

        printf("%lld %lld\n", minmax.min, minmax.max);

    }

    return 0;

}// } Driver Code Ends



// User function Template for C


struct pair getMinMax(long long int arr[], long long int n) {

    struct pair minmax;

    if(n==1)  //if size of array is 1 them min and max will be same

    {

        minmax.min=arr[0];

        minmax.max=arr[0];

        

        return minmax;

    }

    //if more than one element present

    

    if(arr[0]>arr[1])

    {

        minmax.max=arr[0];

        minmax.min=arr[1];

    }

    else

    {

        minmax.max=arr[1];

        minmax.min=arr[0];

    }

    

    

    for(int i=2;i<n;i++)

    {

        if(arr[i]>minmax.max)

        {

            minmax.max=arr[i];

        }

    }

    for(int i=2;i<n;i++)

    {

        if(arr[i]<minmax.min)

        {

            minmax.min=arr[i];

        }

    }

    

    return minmax;

    //printf("%d",min);

    //printf("%d",max);


    

}

Tuesday, July 27, 2021

operator overload

 Input Format

The overloaded operator + should receive two complex numbers ( and ) as parameters. It must return a single complex number.

The overloaded operator << should add "" to the stream where  is the real part and  is the imaginary part of the complex number which is then passed as a parameter to the overloaded operator.

Output Format

As per the problem statement, for the output, print "" followed by a newline where  and .

Sample Input

3+i4
5+i6

Sample Output

8+i10

Explanation

Given output after performing required operations (overloading + operator) is 8+i10.


Answer:

//Operator Overloading

#include<iostream>

using namespace std;

class Complex
{
public:
    int a,b;
    void input(string s)
    {
        int v1=0;
        int i=0;
        while(s[i]!='+')
        {
            v1=v1*10+s[i]-'0';
            i++;
        }
        while(s[i]==' ' || s[i]=='+'||s[i]=='i')
        {
            i++;
        }
        int v2=0;
        while(i<s.length())
        {
            v2=v2*10+s[i]-'0';
            i++;
        }
        a=v1;
        b=v2;
    }
};
///////////////////////////////////////////////////////
Complex operator + (Complex& obj1, Complex& obj2){
  Complex t ;
     t.a = obj1.a + obj2.a;
     t.b = obj1.b + obj2.b;
     return t;
}
ostream& operator <<(ostream& out , const Complex& obj){

    out<<obj.a<<"+i"<<obj.b<<endl;
    return out;
}
/////////////////////////////////////////////////////code done
//Overload operators + and << for the class complex
//+ should add two complex numbers as (a+ib) + (c+id) = (a+c) + i(b+d)
//<< should print a complex number in the format "a+ib"

int main()
{
    Complex x,y;
    string s1,s2;
    cin>>s1;
    cin>>s2;
    x.input(s1);
    y.input(s2);
    Complex z=x+y;
    cout<<z<<endl;
}

Tuesday, July 20, 2021

 Kristen is a contender for valedictorian of her high school. She wants to know how many students (if any) have scored higher than her in the  exams given during this semester.

Create a class named  with the following specifications:

  • An instance variable named  to hold a student's  exam scores.
  • void input() function that reads  integers and saves them to .
  • An int calculateTotalScore() function that returns the sum of the student's scores.

Input Format

Most of the input is handled for you by the locked code in the editor.

In the void Student::input() function, you must read  scores from stdin and save them to your  instance variable.

Constraints

Output Format

In the int Student::calculateTotalScore() function, you must return the student's total grade (the sum of the values in ).

The locked code in the editor will determine how many scores are larger than Kristen's and print that number to the console.

Sample Input

The first line contains , the number of students in Kristen's class. The  subsequent lines contain each student's  exam grades for this semester.

3
30 40 45 10 10
40 40 40 10 10
50 20 30 10 10

Sample Output

1

Explanation

Kristen's grades are on the first line of grades. Only  student scored higher than her.


Answer::

#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
#include <cassert>
using namespace std;

class Student{
    public:
    int scores[5];
    int sum=0;
    void input();
    int calculateTotalScore();  
};
void Student::input(){
  for(int i=0;i<5;i++)
  {
      cin>>scores[i];
  }  
}
int Student::calculateTotalScore(){
    for(int i=0;i<5;i++)
    {
        sum = sum+scores[i];
    }
    return sum;
}


Java Regex

You are updating the username policy on your company's internal networking platform. According to the policy, a username is considered v...