Recursion 9/10/23

PHOTO EMBED

Wed Aug 09 2023 17:24:44 GMT+0000 (Coordinated Universal Time)

Saved by @samee

public class Main
{
    public static int fo(int arr[], int s, int e, int k, int i){
        if(s>e){
            return i;
        }
        int m=(s+e)/2;
        if(arr[m]==k){
            i=m;
            e=m-1;
            return fo(arr,s,e,k,i);
        }
        if(arr[m]<k){
            return fo(arr,m+1,e,k,i);
        } 
         return   fo(arr,s,m-1,k,i);
    }
    public static int lo(int arr[], int s, int e, int k, int i){
        if(s>e){
            return i;
        }
        int m=(s+e)/2;
        if(arr[m]==k){
            i=m;
            s=m+1;
            return lo(arr,s,e,k,i);
        }
        if(arr[m]<k){
            return lo(arr,m+1,e,k,i);
        } 
         return   lo(arr,s,m-1,k,i);
    }
	public static void main(String[] args) {
		System.out.println("Hello World ");
		int arr[]={1,2,3,3,3,3,3,4,5};
		System.out.println(fo(arr,0,8,3,-1)+" "+lo(arr,0,8,3,-1));
	}
}

For calculating total occurances

total = (last occ - first occ) + 1
content_copyCOPY