LeetCode Problem

How to Solve Minimum Stability Factor of Array

The goal is to determine the minimum length of a stable subarray where the highest common factor of its elements is at least 2. The solution involves using binary search to explore potential lengths for the stable subarray and testing each length's feasibility based on the given `maxC` constraint.

GhostInterview Help

Need help with Minimum Stability Factor of Array without spending extra time grinding it?

GhostInterview can read Minimum Stability Factor of Array from a screenshot, generate the answer path, explain the complexity, and support solver-first interview workflows when you need direct help fast.

Screenshot Input

Capture the prompt fast instead of rewriting the problem by hand.

Answer + Complexity

Get the solution path, trade-offs, and complexity summary in one pass.

Stealth Workflow

Stay outside captured layers on supported screen-share workflows.

Problem #3605Binary search over the valid answer spaceReviewed 2026-03-08
Difficulty
Hard
Primary pattern
Binary search over the valid answer space
Answer-first problem summary
Step-by-step approach and complexity
GhostInterview solver workflow

The goal is to determine the minimum length of a stable subarray where the highest common factor of its elements is at least 2. The solution involves using binary search to explore potential lengths for the stable subarray and testing each length's feasibility based on the given maxC constraint.

Problem Statement

You are given an integer array nums and an integer maxC. A subarray is called stable if the highest common factor (HCF) of all its elements is greater than or equal to 2. The stability factor of an array is defined as the length of its longest stable subarray, which means the largest subarray that satisfies this HCF condition. Your task is to find the minimum length of such a stable subarray for the given constraints.

To solve this problem, binary search can be used over the possible lengths of stable subarrays. For each length, check if it's possible to find a subarray of that length with a HCF greater than or equal to 2, while ensuring that the number of elements that need to be adjusted or removed to achieve this stability is less than or equal to maxC. This is a challenging problem that involves efficient number-theoretic checks combined with binary search to optimize the solution.

Examples

Example 1

Input: nums = [3,5,10], maxC = 1

Output: 1

Example 2

Input: nums = [2,6,8], maxC = 2

Output: 1

Example 3

Input: nums = [2,4,9,6], maxC = 1

Output: 2

Constraints

  • 1 <= n == nums.length <= 105
  • 1 <= nums[i] <= 109
  • 0 <= maxC <= n

Solution Approach

Binary Search for Minimum Length

The approach begins by performing binary search on the possible lengths of subarrays, from 1 to the size of the array. The key idea is to narrow down the potential minimum length of a stable subarray that satisfies the HCF condition, while keeping track of the number of changes allowed by maxC.

GCD Check for Stability

For each length candidate from the binary search, check if a subarray of that length can be stable. To do so, compute the GCD of the elements in each subarray of the current length and see if it’s greater than or equal to 2. If the number of adjustments required exceeds maxC, this length is not feasible.

Greedy Sliding Window

Use a sliding window approach to efficiently calculate the GCD for each subarray of the current length during the binary search. This reduces the complexity by reusing previous calculations, enabling quick checks on the feasibility of each candidate length.

Complexity Analysis

MetricValue
TimeDepends on the final approach
SpaceDepends on the final approach

The time complexity of the binary search is O(log(n)), where n is the size of the array. For each candidate length, the GCD of subarrays needs to be calculated, which can be done in O(n) using a sliding window technique. Therefore, the overall time complexity depends on the chosen method for calculating the GCD and the binary search space.

What Interviewers Usually Probe

  • Candidate uses binary search efficiently to narrow down answer space.
  • Proper use of number theory (GCD) to check subarray stability.
  • Utilization of sliding window to optimize GCD calculation over large input sizes.

Common Pitfalls or Variants

Common pitfalls

  • Misunderstanding the problem's requirement for subarray stability via HCF.
  • Inefficient GCD computation without leveraging sliding window.
  • Incorrectly handling edge cases when maxC is very small or the array is large.

Follow-up variants

  • Varying the maxC value to change the number of permissible adjustments.
  • Testing with different sizes of input arrays to challenge time complexity.
  • Handling larger numbers in nums[i] and their effect on the GCD calculation.

How GhostInterview Helps

  • GhostInterview’s step-by-step solver ensures you understand binary search for array problems.
  • Provides optimal solutions for challenging array stability problems using number theory and binary search.
  • Helps identify inefficiencies in GCD calculations and suggests the best approaches to avoid common pitfalls.

Topic Pages

FAQ

How do you approach solving the Minimum Stability Factor of Array problem?

The problem can be solved by performing binary search over possible subarray lengths and checking the stability of each candidate using GCD computations and a sliding window technique.

What is the main technique used in this problem?

The main technique is binary search over the valid answer space combined with GCD checks for stability and a sliding window to optimize calculations.

What is the time complexity of this problem?

The time complexity is O(n log n) where n is the size of the array, due to binary search and GCD computations within each subarray length check.

How does the GCD play a role in determining stability?

The GCD (Greatest Common Divisor) determines whether a subarray is stable. A subarray is stable if the GCD of all its elements is greater than or equal to 2.

What is a common mistake when solving this problem?

A common mistake is inefficient GCD computation, especially when the sliding window approach is not utilized, resulting in unnecessary recalculations and higher time complexity.

GhostInterview Solver

Need direct help with Minimum Stability Factor of Array instead of spending more time grinding it?

Download GhostInterview when you want a LeetCode solver, not another long practice loop. Capture Minimum Stability Factor of Array from a screenshot, get the answer path and complexity, and use supported stealth workflows that stay outside captured layers.

Screenshot Input

Capture the prompt fast instead of rewriting the problem by hand.

Answer + Complexity

Get the solution path, trade-offs, and complexity summary in one pass.

Stealth Workflow

Stay outside captured layers on supported screen-share workflows.