Question: Write an efficient algorithm for the following problem, briefly describe why it is a correct algorithm, and analyze the time complexity. If you cannot find
Write an efficient algorithm for the following problem, briefly describe why it is a correct algorithm, and analyze the time complexity. If you cannot find any polynomial-time algorithm, then give a backtracking algorithm.
- Problem: Array Range
- Input: Two integers p and q and a binary array A[1...n], i.e., each entry contains either a 0 or 1.
- Output: Print Yes - if there exists an array range A[i...k], where 1<= i, k <= n, with exactly p zeros and exactly q ones. Print No - otherwise.
- Example: Input: A = [0,1,1,0,1], p = 2, q =1, Output: No.
- Example: Input: A = [0,1,1,0,1], p = 1, q =2, Output: Yes
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
