Wednesday, August 11, 2021

Top interview programming questions: Arrays



**************************************************
Java Programs for programming and coding interview
**************************************************


1. Write a program to swap elements in given array

public class SwapArrays {
public static void main(String[] args) {
int[] arr = {10, 20, 30, 40, 50};
System.out.println("Original array: "+ Arrays.toString(arr));
swap(arr, 0, 4);
System.out.println("Swapped Array: "+ Arrays.toString(arr));
reverseArray(arr);
}
private static void swap(int[] arr, int index1, int index2) {
int temp = arr[index1];
arr[index1] = arr[index2];
arr[index2] = temp;
}
}
Output:
Original array: [10, 20, 30, 40, 50]
Swapped Array: [50, 20, 30, 40, 10]
view raw swap.java hosted with ❤ by GitHub


2. Write a program to find maximum element from given array

public class MaxArray {
public static void main(String[] args) {
int[] arr = {12, 54, 32, 89, 100};
getMaxArray(arr);
}
private static int getMaxArray(int[] arr) {
int max = 0;
if (arr == null) {
return -1;
}
for (int i = 0; i <= arr.length-1; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
System.out.println("Max arrays is: " + max);
return max;
}
}
Output:
Max arrays is: 100
view raw MaxArray.java hosted with ❤ by GitHub


3. Write a program to reverse elements in given array

public class reverse {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5};
reverseArr(arr);
System.out.println("Reverse array is: "+Arrays.toString(arr));
}
private static void reverseArr(int[] arr) {
int start =0;
int end = arr.length-1;
while (start<end) {
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
start++;
end--;
}
}
}
Output:
Reverse array is: [5, 4, 3, 2, 1]


3. Linear search - Write a programe to search an element from Array

public class linearSearch {
public static void main(String[] args) {
int[] arr = {4, 78, 564, 54, 3, 98, 5, -1};
int a = LinearSearch(arr, 54);
System.out.println("Element present at index: "+a);
}
private static int LinearSearch(int[] arr, int element){
if (arr == null) {
return -1;
}
for (int index = 0; index < arr.length ; index++) {
if (element == arr[index]) {
return index;
}
}
return -1;
}
Output:
Element present at index: 3


4. Find Numbers with Even Number of Digits

//Given an array nums of integers, return how many of them contain an even number of digits.
public class EvenDigitLeetCode {
public static void main(String[] args) {
int[] nums = {555, 901, 482, 1771};
int numbers = findNumbers(nums);
System.out.println(numbers);
}
public static int findNumbers(int[] nums) {
int count = 0;
for (int num: nums){
if (contEvenNumber(num)) {
count++;
}
}
return count;
}
private static boolean contEvenNumber(int num) {
int count = 0;
int even = 0;
while (num !=0) {
count++;
num = num/10;
}
return count %2 ==0;
}
}
output:
1
//output : 1, because array contain only one even number of digit i.e 1771
view raw evenDigit.java hosted with ❤ by GitHub


5. Binary Search - Write a programe to search an element from Array (O(log n) runtime complexity)

package com.BinarySearch;
//Leet code 704 - Binary Search
public class BinarySrch {
public static void main(String[] args) {
int[] arr = {-1,0,3,5,9,12};
int i = search(arr, 5);
System.out.println(i);
}
public static int search(int[] arr, int target){
int start = 0;
int end = arr.length - 1;
while (start <= end) {
int mid = start + (end - start) / 2;
if (target < arr[mid]) {
end = mid - 1;
} else if (target > arr[mid]) {
start = mid + 1;
}else{
return mid;
}
}
return -1;
}
}
Output: 3
view raw BinarySrch.java hosted with ❤ by GitHub


6. Two number Sum or Check for pair in an array with a given sum

package com.BinarySearch.BinarySearchPorblems;
import java.util.Arrays;
//Check for pair in an array with a given sum - Interview Problem
//https://afteracademy.com/blog/check-for-pair-in-an-array-with-a-given-sum
public class SearchElement {
public static void main(String[] args) {
int[] arr = {-5, 1, -40, 20, 6, 8, 7};
System.out.println(getValue(arr,15 ));
}
//Using two pointer technique
static boolean getValue(int[] arr, int target){
int start = 0;
int end = arr.length - 1;
while (start <= end) {
Arrays.sort(arr);
if (arr[start] + arr[end] == target) {
return true;
}else if(arr[start] + arr[end] > target){
end--;
}else{
start++;
}
}
return false;
}
}


No comments:

Post a Comment

How to install Java on EC2

***************************************** How to install Java on EC2 ***************************************** To be continued, In this post...

All Time Popular Post