LeetCode - Subarray Product Less Than K
Question Definition
Your are given an array of positive integers nums.
Count and print the number of (contiguous) subarrays where the product of all the elements in the subarray is less than k.
More …Your are given an array of positive integers nums.
Count and print the number of (contiguous) subarrays where the product of all the elements in the subarray is less than k.
More …Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand.
(i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2).
You are given a target value to search. If found in the array return its index, otherwise return -1.
You may assume no duplicate exists in the array.
public int search(int[] nums, int target) {
int low = 0;
int high = nums.length - 1;
while(low <= high){
int mid = (low + high) / 2;
if(nums[mid] == target) return mid;
if((nums[mid] < nums[high] && target > nums[mid] && target <= nums[high])
||(nums[mid] > nums[high] && (target > nums[mid] || target < nums[low]))
){
while(mid < nums.length - 1 && nums[mid + 1] == nums[mid]) mid++;
low = mid + 1;
}else{
while(mid > 0 && nums[mid - 1] == nums[mid]) mid--;
high = mid - 1;
}
}
return -1;
}
Follow up for “Search in Rotated Sorted Array”: What if duplicates are allowed?
Would this affect the run-time complexity? How and why? Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand.
More …Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the following properties:
Given an array of n positive integers and a positive integer s, find the minimal length of a contiguous subarray of which the sum ≥ s. If there isn’t one, return 0 instead.
More …