coding
- Anand Nerurkar
- May 26
- 2 min read
Updated: Jun 18
move zero to end
===

code
==

segreage 0 and 1 in array

import java.util.Arrays;
segregate even and odd no in array
===
public class SeperateOddAndEven {
static void segregateEvenOdd(int arr[])
{
/* Initialize left and right indexes */
int left = 0, right = arr.length - 1;
while (left < right)
{
/* Increment left index while we see 0 at left */
while (arr[left]%2 == 0 && left < right)
left++;
/* Decrement right index while we see 1 at right */
while (arr[right]%2 == 1 && left < right)
right--;
if (left < right)
{
int temp = arr[left];
arr[left] = arr[right];
arr[right] = temp;
left++;
right--;
}
}
}
public static void main(String[] args) {
int arr[]= {12, 34, 45,9,8,90,3};
SeperateOddAndEven.segregateEvenOdd(arr);
for(int i:arr) {
System.out.print(i+" ");
}
}
}
right rotate/left rotate array by k size
===


let us roate it by one as below.

static void rotatebyk(int a[],int k){
k=k%a.length;
if(k<0){
k=k+a.length;
}
for(int i=1;i<=k;i++){
rotate(a);
}
}
public static void main(String arg[]){
int a[]={1,2,3,4,5};
rotatebyk(a,2);
}
}
2--- more efficnet way is
rotateby k
===
divide array into 2 part
1--- 0-----k-1
2 --- k ---a.lenth
then reverse 1st part, 2nd part then reverse wholw part
below is the code
static void reverse(int a[],int start, int end){
while(start < end){
int temp=a[start];
a-start]=a[end];
a[end]=temp;
start++;
end--;
}
}
statci void rotatebyk(int a[],int k){
k=k%a.length;
if(k < o) k=k+a.length;
reverse(a,o,k-1);
reverse(a.k,a.length-1);
reverse(a,0,a.lenght-1);
}
public static void main(String arg[]){
int a[]={1,2,3,4,5|;
rotatebyk (a,3);
}
move all zero to end
===



find subarray if array
===
int a[]={1,2,3,4,5}
subaaray is



find maz continous subarray sum
----

class sumaaary{
public static void main(String arg[]){
}
static int getMaxSubarraySum(int a[]){
int sum=a[0];
int maxSum=a[0];
for(int i=1;i<a.length;i++){
if (sum>=0){
sum+=a[i];
}else{
sum=a[i];
}
if(sum >maxsum){
maxSum=sum;
}
}
return maxSum;
}
}
maxsubaaray sum with window size k
====

how to remove duplicate from array
===


is array sorted
===

min platform needed
==
arrival[] = {900, 940, 950, 1100, 1500, 1800}
departure[] = {910, 1200, 1120, 1130, 1900, 2000}
import java.util.Arrays;
public class PlatformCounter {
public static int findMinimumPlatforms(int[] arrival, int[] departure) {
Arrays.sort(arrival);
Arrays.sort(departure);
int n = arrival.length;
int platformNeeded = 1, maxPlatforms = 1;
int i = 1, j = 0;
while (i < n && j < n) {
if (arrival[i] <= departure[j]) {
platformNeeded++;
i++;
} else {
platformNeeded--;
j++;
}
maxPlatforms = Math.max(maxPlatforms, platformNeeded);
}
return maxPlatforms;
}
public static void main(String[] args) {
int[] arrival = {900, 940, 950, 1100, 1500, 1800};
int[] departure = {910, 1200, 1120, 1130, 1900, 2000};
System.out.println("Minimum number of platforms required: " +
findMinimumPlatforms(arrival, departure));
}
}
Java 8 is old now you should talk about Java 21 or 17