Monday, April 25, 2022

How to add an element in an array in given position

     How to add an element in an array in given position


public class Demo {

public static void main(String args[]) {

int arr[] = new int[5];

arr[0]=1;

arr[1]=2;

arr[2]=3;

arr[3]=4;

int x = 5,pos=3; // x = number to be added in the array , pos = position

int n=4; //length of array

n++;

for(int i =n-1;i>=pos;i--) {

arr[i] = arr[i-1];

}

arr[pos-1] = x;

//print the array

for (int i=0;i<arr.length;i++) {

System.out.println(arr[i]);

}

}

}


How to Find the Sub Array in Java

 

How to Find the Sub Array in Java



import java.util.ArrayList;


import java.util.List;

import java.util.TreeSet;


public class Demo {

public static void main(String args[]) {

Demo psm = new Demo();

int arr[] = { 1, 2, 3 };

psm.printSubArray(arr);

}


void printSubArray(int arr[]) {

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

int n = arr.length;

for (int i = 0; i < n; i++) // This loop will select start element

{

for (int j = i; j < n; j++) // This loop will select end element

{


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

for (int k = i; k <= j; k++) // This loop will print element from start to end


{

list1.add(arr[k]);


}

intList.add(list1);


}

}

System.out.println(intList);

TreeSet<Integer> tSet = new TreeSet<>();

for (List<Integer> list : intList) {

tSet.add((list.stream().mapToInt(i->i).sum())%2);

}

System.out.println(tSet);

System.out.println(tSet.last());

}


}



Output

[[1], [1, 2], [1, 2, 3], [2], [2, 3], [3]]

[0, 1]

1


Tuesday, April 12, 2022

Java String Compare

 Hackerrak Java String Compare By Java Tech Solutionz


Problem:

We define the following terms:

  • Lexicographical Order, also known as alphabetic or dictionary order, orders characters as follows:

    For example, ball < catdog < dormHappy < happyZoo < ball.

  • substring of a string is a contiguous block of characters in the string. For example, the substrings of abc are abcabbc, and abc.

Given a string, , and an integer, , complete the function so that it finds the lexicographically smallest and largest substrings of length .

Function Description

Complete the getSmallestAndLargest function in the editor below.

getSmallestAndLargest has the following parameters:

  • string s: a string
  • int k: the length of the substrings to find

Returns

  • string: the string ' + "\n" + ' where and are the two substrings

Input Format

The first line contains a string denoting .
The second line contains an integer denoting .

Constraints

  •  consists of English alphabetic letters only (i.e., [a-zA-Z]).

Sample Input 0

welcometojava
3

Sample Output 0

ava
wel

Explanation 0

String  has the following lexicographically-ordered substrings of length :

We then return the first (lexicographically smallest) substring and the last (lexicographically largest) substring as two newline-separated values (i.e., ava\nwel).

The stub code in the editor then prints ava as our first line of output and wel as our second line of output.



Solution:


public class Solution {

    public static String getSmallestAndLargest(String s, int k) {
        String smallest = "";
        String largest = "";
        
        // Complete the function
        // 'smallest' must be the lexicographically smallest substring of length 'k'
        // 'largest' must be the lexicographically largest substring of length 'k'
        
      
        
        int n=0;
        for(int i=0 ; i<=s.length()-k;i++){
            n++;
        }
        String arr[] = new String[n];
        
        for(int i=0 ; i<=s.length()-k;i++){
          
            arr[i]=s.substring(i,i+k);
        }
        arr = mySort(arr);
        System.out.println(arr[0]);
        System.out.println(arr[n-1]);
        
        return smallest + "\n" + largest;
    }
    
    public static String[] mySort(String[] ar) {
        
        String temp;
        
        for(int i=ar.length-1; i>0 ; i--) {
            for(int j=0;j<i;j++) {
                if(ar[j].compareTo(ar[j+1] )>0) {
                    temp = ar[j];
                    ar[j] = ar[j+1];
                    ar[j+1] = temp;
                }
            }
        }
    
        return ar;
    }


Concurrent Hashmap in java

  A ConcurrentHashMap is a thread-safe implementation of the Map interface in Java. Unlike a HashMap , which is not thread-safe and can ca...