반응형
https://leetcode.com/problems/range-product-queries-of-powers/description/
1 <= n <= 10^9이므로, n의 30비트를 검사하여 powers를 미리 생성해줍니다.
query를 확인하며 범위 내에 곱을 구해줍니다.
class Solution {
public:
const int MOD = 1e9 + 7;
vector<int> productQueries(int n, vector<vector<int>>& queries) {
vector<int> powers;
for(int i=0; i<31; i++) {
if((n >> i) & 1) {
powers.push_back(1 << i);
}
}
vector<int> res;
for(auto& q : queries) {
long long val = 1;
for(int i=q[0]; i<=q[1]; i++)
val = val * powers[i] % MOD;
res.push_back(val);
}
return res;
}
};
반응형
'Algorithm' 카테고리의 다른 글
LeetCode 2433. Find The Original Array of Prefix Xor (0) | 2023.10.31 |
---|---|
LeetCode 1356. Sort Integers by The Number of 1 Bits (0) | 2023.10.30 |
LeetCode 5. Longest Palindromic Substring (0) | 2023.10.28 |
LeetCode 823. Binary Trees With Factors (1) | 2023.10.26 |
LeetCode 779. K-th Symbol in Grammar (0) | 2023.10.26 |