Question:
Given an sorted array A of size N. Find number of elements which are less than or equal to given element X.
Example 1:
Input:
N = 6
A[] = {1, 2, 4, 5, 8, 10}
X = 9
Output:
5
Example 2:
Input:
N = 7
A[] = {1, 2, 2, 2, 5, 7, 9}
X = 2
Output:
4
Your Task:
You don't need to read input or print anything. Your task is to complete the function countOfElements() which takes the array A[], its size N and an integer X as inputs and returns the number of elements which are less than or equal to given element.
Expected Time Complexity: O(N)
Expected Auxiliary Space: O(1)
Constraints:
1 <= N <= 105
1 <= Ai <= 105
0 <= X <= 105
Ans:
Time Complexity of this solution: O(n);
public class Solution {
public int countOfElements(int[] arr, int n, int x) {
int count = 0;
for (int i = 0; i < n; i++) {
if (arr[i] <= x) { // If the current element is less than or equal to X, increment count
count++;
} else {
break; // Since the array is sorted, we can break the loop if the current element exceeds X
}
}
return count;
}
}
In <= agr element x se chota hai ya barabar hai to conut ++ karega agr element x ke barabar to nhi hai lekin badha hai to else me jake ruk jayega break statement ki wjh se;
Means <= less than equals to operator ka use ham tab karte hai jab hame check krna hai ki element ya to x se chota ho ya barabar ho to true value dega otherwise false hoga.
Comments
Post a Comment