Showing posts with label DS. Show all posts
Showing posts with label DS. Show all posts

Tuesday, December 7, 2021

2D Array DS | HackerRank | Data Structure | Arrays | Practice

 import java.io.*;

import java.math.*;

import java.security.*;

import java.text.*;

import java.util.*;

import java.util.concurrent.*;

import java.util.function.*;

import java.util.regex.*;

import java.util.stream.*;

import static java.util.stream.Collectors.joining;

import static java.util.stream.Collectors.toList;


class Result {


    /*

     * Complete the 'hourglassSum' function below.

     *

     * The function is expected to return an INTEGER.

     * The function accepts 2D_INTEGER_ARRAY arr as parameter.

     */


    public static int hourglassSum(List<List<Integer>> arr) {

    // Write your code here

    int mx = Integer.MIN_VALUE;

        for(int i =0;i<4;i++){

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

                int sum = 0;

                sum = arr.get(i).get(j) +arr.get(i).get(j+1) + arr.get(i).get(j+2) 

                + arr.get(i+1).get(j+1) + arr.get(i+2).get(j) + arr.get(i+2).get(j+1)

                + arr.get(i+2).get(j+2);

                

                if(sum > mx){

                    mx = sum;

                }

            }

        }

        return mx;

    }


}


public class Solution {

    public static void main(String[] args) throws IOException {

        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));

        BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(System.getenv("OUTPUT_PATH")));


        List<List<Integer>> arr = new ArrayList<>();


        IntStream.range(0, 6).forEach(i -> {

            try {

                arr.add(

                    Stream.of(bufferedReader.readLine().replaceAll("\\s+$", "").split(" "))

                        .map(Integer::parseInt)

                        .collect(toList())

                );

            } catch (IOException ex) {

                throw new RuntimeException(ex);

            }

        });


        int result = Result.hourglassSum(arr);


        bufferedWriter.write(String.valueOf(result));

        bufferedWriter.newLine();


        bufferedReader.close();

        bufferedWriter.close();

    }

}




Friday, June 11, 2021

Arrays - DS | HackerRank | DS | Arrays | Color the Code

 Arrays - DS ( HackerRank )


Solution : 


import java.io.*;
import java.math.*;
import java.security.*;
import java.text.*;
import java.util.*;
import java.util.concurrent.*;
import java.util.function.*;
import java.util.regex.*;
import java.util.stream.*;
import static java.util.stream.Collectors.joining;
import static java.util.stream.Collectors.toList;

class Result {

    /*
     * Complete the 'reverseArray' function below.
     *
     * The function is expected to return an INTEGER_ARRAY.
     * The function accepts INTEGER_ARRAY a as parameter.
     */

    public static List<Integer> reverseArray(List<Integer> a) {
    // Write your code here
        
    Collections.reverse(a);
    return a;
    }

}

public class Solution {
    public static void main(String[] args) throws IOException {
        BufferedReader bufferedReader = new BufferedReader(new 
        InputStreamReader(System.in));
        BufferedWriter bufferedWriter = new BufferedWriter(new 
        FileWriter(System.getenv("OUTPUT_PATH")));

        int arrCount = Integer.parseInt(bufferedReader.readLine()
        .trim());

        List<Integer> arr = Stream.of(bufferedReader.readLine()
        .replaceAll("\\s+$""").split(" "))
        .map(Integer::parseInt)
        .collect(toList());

        List<Integer> res = Result.reverseArray(arr);

        bufferedWriter.write(
            res.stream()
                .map(Object::toString)
                .collect(joining(" "))
            + "\n"
        );

        bufferedReader.close();
        bufferedWriter.close();
    }
}




                        

Sunday, November 1, 2020

Code of Stack in C Using Array

// stack using array


// library


#include<stdio.h>

#include<stdlib.h>


// make structure   maxsize , top , *items


struct stack{

int maxSize;

int top;

int *items;

};



// initialization

struct stack* newStack(int capacity){

    struct stack *p =  (struct stack *)malloc(sizeof(struct stack));


    p->maxSize  = capacity;

    p->top = -1;

    p->items = (int *)malloc(sizeof(int) * capacity);


    return p;

}



// operations for our stack


// top

int top(struct stack* p ){

    return p->items[p->top];

}


// isEmpty

int isEmpty(struct stack* p ){

    return p->top == -1;

}


// isFull


int isFull(struct stack *p){

    return p->top + 1 == p->maxSize;

}

// size


int size(struct stack * p){

    return p->top + 1;

}


// push

void push(struct stack* p , int element){    //        12 3  4 4 3

    if(isFull(p)){

        printf("Overflow!\n");

    }else{

        p->items[++p->top] = element;

    }

}


// pop


int pop(struct stack * p ){

    if(isEmpty(p)){

        printf("Underflow!");

    }else{

        return p->items[p->top--];

    }


}




int main(){

struct stack * s = newStack(5);


push(s,1);

push(s,5);

push(s,3);

push(s,6);


//   1    5     3   6


printf("%d\n",top(s));


printf("%d",size(s));



return 0;

}