public class Main
{
public static int pivot(int arr[], int s, int e){
int sum1=0;int sum2=0;
if(s>e)
return -1;
int m=(s+e)/2;
for(int i=0;i<m;i++)
sum1+=arr[i];
for(int i=m+1;i<arr.length;i++)
sum2+=arr[i];
if(sum1==sum2){
return m;
} else if(sum1>sum2){
e=m-1;
} else {
s=m+1;
}
return pivot(arr,s,e);
}
public static void main(String[] args) {
System.out.println("Hello World");
int arr[]={2,1,-1};
System.out.println("pivot "+pivot(arr, 0,arr.length));
}
}
FIND PIVOT - smallest element in array
public class Main
{
public static int pivot_smallest(int arr[], int s, int e){
if(s>e)
return -1;
int m=(s+e)/2;
if(arr[0]>arr[m] && arr[m]<arr[m-1]){
return arr[m];
} else if(arr[0]<arr[m]) {
s=m+1;
} else{
e=m;
}
return pivot_smallest(arr,s,e);
}
public static void main(String[] args) {
System.out.println("Hello World");
int arr[]={16, 18, 22, 25, 1, 3, 5, 6, 7, 10, 14};
System.out.println("pivot "+pivot_smallest(arr, 0,arr.length-1));
}
}
Comments