Skip to content

Commit 6053402

Browse files
authored
Create 2438-range-product-queries-of-powers.js
1 parent 1f906b5 commit 6053402

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
/**
2+
* @param {number} n
3+
* @param {number[][]} queries
4+
* @return {number[]}
5+
*/
6+
const productQueries = function(n, queries) {
7+
const mod = 1e9 + 7
8+
const powers = []
9+
let pow = 1
10+
while(n) {
11+
const tmp = (n & 1) * pow
12+
if(tmp) powers.push(tmp)
13+
n = n >> 1
14+
pow *= 2
15+
}
16+
17+
// console.log(powers)
18+
const res = []
19+
20+
for(const [s, e] of queries) {
21+
let tmp = 1
22+
for(let i = s; i <= e; i++) {
23+
tmp = (tmp * powers[i]) % mod
24+
}
25+
res.push(tmp)
26+
}
27+
28+
return res
29+
};

0 commit comments

Comments
 (0)