Pivot of array recursion 12-08-23

PHOTO EMBED

Fri Aug 11 2023 20:16:53 GMT+0000 (Coordinated Universal Time)

Saved by @samee

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));
	}
}
content_copyCOPY