top of page
Writer's picturesocialcontentclub

BINARY SEARCH

Given a sorted array of size N and an integer K, find the position at which K is present in the array using binary search.

Your Task: You dont need to read input or print anything. Complete the function binarysearch() which takes arr[], N and K as input parameters and returns the index of K in the array. If K is not present in the array, return -1.

Expected Time Complexity: O(LogN) Expected Auxiliary Space: O(LogN) if solving recursively and O(1) otherwise.


Constraints:

  • 1 <= N <= 105

  • 1 <= arr[i] <= 106

  • 1 <= K <= 106

Example 1:

Input:

N = 5

arr[]={1 2 3 4 5}

K = 4

Output: 3

Explanation: 4 appears at index 3.



SOLUTIONS:


1.PYTHON-


#User function template for Python


class Solution:

def binarysearch(self, arr, n, k):

start = 0

end = n

if k not in arr:

return -1

while start <= end:

mid = int((start + end)/2)

if arr[mid] == k:

return mid

elif arr[mid] < k:

start = mid +1

elif arr[mid] > k:

end = mid-1

return -1


2.JAVA-


// User function Template for Java


class Solution {

int binarysearch(int arr[], int n, int k) {

int start =0;

int end=arr.length-1;

int mid = (start+end)/2;

while(start<=end){

mid = (start+end)/2;

if(k==arr[mid]) return mid;

if(k>arr[mid]){

start=mid+1;

}

else{

end = mid-1;

}

}

return -1;

}

}


3.JAVASCRIPT-


// } Driver Code Ends



// User function Template for javascript


/**

* @param {number[]} arr

* @param {number} n

* @param {number} k

* @returns {number}

*/


class Solution {

binarysearch(arr, n, k) {

// code here

let ret = -1;

arr.forEach((val)=>{

if(val == k){

ret = arr.indexOf(val);

return ret;

}

})

return ret;

}

}



4.C++ -


// User function template for C++


class Solution {

public:

int binarysearch(int arr[], int n, int k) {

int beg=0,end=n-1;

// int mid=(beg+end)/2;

while(beg<=end)

{

int mid=(beg+end)/2;

if(arr[mid]==k)

{

return mid;

}

else if(arr[mid]<k)

{

beg=mid+1;

// binarysearch(arr,(n-mid-1),k);

}

else{

end=mid-1;

// binarysearch(arr,mid,k);

}

}

return -1;

}

};





3 views0 comments

コメント


bottom of page