Search in rotated sorted array-II
The problem
Given an integer array nums, sorted in ascending order (may contain duplicate values) and a target value k. Now the array is rotated at some pivot point unknown to you. Return True if k is present and otherwise, return False.
Input : nums = [7, 8, 1, 2, 3, 3, 3, 4, 5, 6], k = 3 Output: True Explanation: The element 3 is present in the array. So, the answer is True.
Input : nums = [7, 8, 1, 2, 3, 3, 3, 4, 5, 6], k = 10 Output: False Explanation:The element 10 is not present in the array. So, the answer is False.
Input : nums = [7, 8, 1, 2, 3, 3, 3, 4, 5, 6], k = 7
- 1 <= nums.length <= 104
- -104 <= nums[i] <= 104
- nums is guaranteed to be rotated at some pivot.
- -104 <= k <= 104
cpp
class Solution {
public:
bool searchInARotatedSortedArrayII(vector<int> &nums, int k) {
}
};java
class Solution {
public boolean searchInARotatedSortedArrayII(int[] nums, int k) {
}
}python
class Solution:
def searchInARotatedSortedArrayII(self, nums, k):javascript
class Solution {
searchInARotatedSortedArrayII(nums, k) {
}
}csharp
public class Solution {
public bool searchInARotatedSortedArrayII(List<int> nums, int k) {
}
}go
func searchInARotatedSortedArrayII(nums []int, k int) bool {
//your code goes here
}Stuck? Show a way to structure it+
- 01Check the middle for target.
- 02When low, middle, and high values are equal, shrink both boundaries.
- 03Otherwise identify a sorted half.
- 04Test whether target lies in that half.
- 05Continue until found or empty.
Reference answer
Then expect these follow-ups
Give an input that forces O(n) behavior.
Tests: follow-up reasoning
How would you find the minimum with duplicates?
Tests: follow-up reasoning
Free to read · better with Enzo
Practice this out loud with Enzo
Enzo runs it as a mock interview, pushes back with follow-ups, and grades you on the rubric.
Next question