Talentd
FleetCode

4010. Maximize Pair Strength Using GCD

Easy48.6% acceptance

You are given an integer array nums.

Choose exactly one pair of distinct indices i and j. The strength of the pair is defined as (nums[i] * nums[j]) / gcd(nums[i], nums[j])2.

Return the maximum strength over all possible pairs.

Example 1:

Input: nums = [2,3,5]

Output: 15

Explanation:

Choosing i = 1 and j = 2 gives strength (3 * 5) / gcd(3, 5)2 = 15 / 1 = 15, which is the maximum over all pairs.

Example 2:

Input: nums = [4,6,8]

Output: 12

Explanation:

Choosing i = 1 and j = 2 gives strength (6 * 8) / gcd(6, 8)2 = 48 / 4 = 12, which is the maximum over all pairs.

Example 3:

Input: nums = [3,3]

Output: 1

Explanation:

Choosing i = 0 and j = 1 gives strength (3 * 3) / gcd(3, 3)2 = 9 / 9 = 1, the maximum over all pairs.

Constraints:

  • 2 <= nums.length <= 2000
  • 1 <= nums[i] <= 105

Hints open one at a time

Hint 1

Try every pair of distinct indices and compute its strength directly.

Hint 2

Use 64-bit integers when multiplying the two values.

5:38
Still stuck?Read the written solution, or watch a walkthrough.
Open solution
Loading editor…
1class Solution:
2 def maxPairStrength(self, nums: list[int]) -> int:
3
Starter codePython 3Spaces: 4
Examples
Input
[2,3,5]
Input
[4,6,8]
Input
[3,3]
Your code is saved on this device.Solution