Class Solution
java.lang.Object
g2101_2200.s2197_replace_non_coprime_numbers_in_array.Solution
2197 - Replace Non-Coprime Numbers in Array\.
Hard
You are given an array of integers `nums`. Perform the following steps:
1. Find **any** two **adjacent** numbers in `nums` that are **non-coprime**.
2. If no such numbers are found, **stop** the process.
3. Otherwise, delete the two numbers and **replace** them with their **LCM (Least Common Multiple)**.
4. **Repeat** this process as long as you keep finding two adjacent non-coprime numbers.
Return _the **final** modified array._ It can be shown that replacing adjacent non-coprime numbers in **any** arbitrary order will lead to the same result.
The test cases are generated such that the values in the final array are **less than or equal** to
108
.
Two values `x` and `y` are **non-coprime** if `GCD(x, y) > 1` where `GCD(x, y)` is the **Greatest Common Divisor** of `x` and `y`.
**Example 1:**
**Input:** nums = [6,4,3,2,7,6,2]
**Output:** [12,7,6]
**Explanation:**
- (6, 4) are non-coprime with LCM(6, 4) = 12. Now, nums = [**12** ,3,2,7,6,2].
- (12, 3) are non-coprime with LCM(12, 3) = 12. Now, nums = [**12** ,2,7,6,2].
- (12, 2) are non-coprime with LCM(12, 2) = 12. Now, nums = [**12** ,7,6,2].
- (6, 2) are non-coprime with LCM(6, 2) = 6. Now, nums = [12,7, **6** ].
There are no more adjacent non-coprime numbers in nums.
Thus, the final modified array is [12,7,6].
Note that there are other ways to obtain the same resultant array.
**Example 2:**
**Input:** nums = [2,2,1,1,3,3,3]
**Output:** [2,1,1,3]
**Explanation:**
- (3, 3) are non-coprime with LCM(3, 3) = 3. Now, nums = [2,2,1,1, **3** ,3].
- (3, 3) are non-coprime with LCM(3, 3) = 3. Now, nums = [2,2,1,1, **3** ].
- (2, 2) are non-coprime with LCM(2, 2) = 2. Now, nums = [**2** ,1,1,3].
There are no more adjacent non-coprime numbers in nums.
Thus, the final modified array is [2,1,1,3].
Note that there are other ways to obtain the same resultant array.
**Constraints:**
* 1 <= nums.length <= 105
* 1 <= nums[i] <= 105
* The test cases are generated such that the values in the final array are **less than or equal** to 108
.-
Constructor Summary
Constructors -
Method Summary
-
Constructor Details
-
Solution
public Solution()
-
-
Method Details
-
replaceNonCoprimes
-