We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent c855c19 commit 519e72eCopy full SHA for 519e72e
1862-sum-of-floored-pairs.js
@@ -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