Cat2.1
Cat2.1
package practice;
import java.util.*;
String binary=Integer.toBinaryString(x);
int left=0;
int right=binary.length()-1;
if (binary.charAt(left) != binary.charAt(right)) {
return false;
left++;
right--;
return true;
if (isPalindrome(number)) {
} else {
}
Booth Multiplier:
import java.util.Scanner;
int m = n1;
int r = n2;
int A = n1;
int S = -n1;
int P = 0;
if ((r & 1) == 1) {
P += A;
S += m;
A <<= 1;
S <<= 1;
count--;
r >>= 1;
return P;
int n1 = scan.nextInt();
int n2 = scan.nextInt();
System.out.println(result); } }
Euclid’s Algorithm:
import java.util.*;
if(a==0) {
return b;
}else {
return gcd(b%a,a);
int a=sc.nextInt();
int b=sc.nextInt();
int result=gcd(a,b);
}
Karatsuba:
import java.util.*;
if(x<10 || y<10) {
return x*y;
}else {
long ac=multiply(a,c);
long bd=multiply(b,d);
long adbc=multiply(a+b,c+d)-ac-bd;
return (long)((ac*Math.pow(10,2*half))+((adbc)*Math.pow(10,half))+bd);
long x=sc.nextLong();
long y=sc.nextLong();
long result=multiply(x,y);
System.out.println(result);
sc.close();
}
Longest sequence of 1 after flipping a bit:
import java.util.*;
int maxLength = 0;
int currentLength = 0;
int previousLength = 0;
if (bit == '1') {
currentLength++;
} else {
previousLength = currentLength;
currentLength = 0;
return maxLength;
int n=sc.nextInt();
int result=Ones(n);
System.out.println(result);
}
Swap Nibbles:
import java.util.Scanner;
return ((num & 0x0F) << 4) | ((num & 0xF0) >> 4);
} else {
sc.close();
}
Majority Element:
import java.util.Scanner;
if (count == 0) {
candidate = num;
count = 0;
if (num == candidate) {
count++;
if(count>(nums.length/2)) {
return candidate;
else {
return -1;
int n = scanner.nextInt();
System.out.println(findMajorityElement(nums));
scanner.close();
Leaders of Array:
import java.util.*;
int n=sc.nextInt();
for(int i=0;i<n;i++) {
arr[i]=sc.nextInt();
System.out.println(leader);
for(int i=n-2;i>0;i--) {
if(arr[i]>leader) {
leader=arr[i];
System.out.println(leader);
}
Maxequilibriumsum:
import java.util.*;
int n= sc.nextInt();
for(int i=0;i<n;i++) {
arr[i]=sc.nextInt();
int tsum=0;
int lsum=0;
int maxsum=Integer.MIN_VALUE;
for(int i=0;i<n;i++){
tsum+=arr[i];
for(int i=0;i<n;i++) {
tsum-=arr[i];
maxsum=lsum;
lsum+=arr[i];
System.out.println(maxsum);
}
Max Product Sub Array:
import java.util.*;
int n=sc.nextInt();
for(int i=0;i<n;i++) {
a[i]=sc.nextInt();
int max=a[0],m=a[0],min=a[0],temp=0;
for(int i=1;i<n;i++) {
if(a[i]>0) {
max=Math.max(a[i],max*a[i]);
min=Math.min(a[i],min*a[i]);
else if(a[i]==0) {
max=min=0;
}else {
temp=max;
max=Math.max(a[i],min*a[i]);
min=Math.min(a[i],temp*a[i]);
m=Math.max(m,max);
System.out.println(m);
}
Block swap:
import java.util.*;
reverse(arr, 0, d - 1);
reverse(arr, d, n - 1);
arr[start] = arr[end];
arr[end] = temp;
start++;
end--;
return arr;
int n = sc.nextInt();
arr[i] = sc.nextInt();
int d = sc.nextInt();
rotate(arr, d, n);
System.out.println("Rotated array:");
sc.close();
}
Hour glass:
import java.util.*;
int maxi=0;
int sum=0;
if(r<3||c<3) {
System.out.println("Not possible");
for(int i=0;i<r-2;i++) {
for(int j=0;j<c-2;j++) {
maxi=(arr[i][j]+arr[i][j+1]+arr[i][j+2]+arr[i+1][j+1]+
arr[i+2][j]+arr[i+2][j+1]+arr[i+2][j+2]);
maxi=Math.max(maxi, sum);
return maxi;
int R=sc.nextInt();
int C=sc.nextInt();
for(int i=0;i<R;i++) {
for(int j=0;j<C;j++) {
arr[i][j]=sc.nextInt();
}
int result=maxsum(arr,R,C);
System.out.println(result);