Skip to content

Commit 519e72e

Browse files
authored
Create 1862-sum-of-floored-pairs.js
1 parent c855c19 commit 519e72e

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

1862-sum-of-floored-pairs.js

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
/**
2+
* @param {number[]} nums
3+
* @return {number}
4+
*/
5+
const sumOfFlooredPairs = function (nums) {
6+
const MAX = Math.max(...nums)
7+
const countsGreaterOrEqualTo = new Array(MAX + 1).fill(0)
8+
const numCounts = new Map()
9+
const MOD = 1e9 + 7
10+
nums.forEach((num) => {
11+
countsGreaterOrEqualTo[num]++
12+
numCounts.set(num, (numCounts.get(num) || 0) + 1)
13+
})
14+
15+
for (let num = MAX - 1; num >= 0; num--) {
16+
countsGreaterOrEqualTo[num] += countsGreaterOrEqualTo[num + 1]
17+
}
18+
19+
let totalCount = 0
20+
numCounts.forEach((count, num) => {
21+
let current = num
22+
while (current <= MAX) {
23+
totalCount = (totalCount + countsGreaterOrEqualTo[current] * count) % MOD
24+
current += num
25+
}
26+
})
27+
28+
return totalCount
29+
}

0 commit comments

Comments
 (0)