kk
This commit is contained in:
16
src/main/java/com/dota/bit/_1680/Solution.java
Normal file
16
src/main/java/com/dota/bit/_1680/Solution.java
Normal file
@@ -0,0 +1,16 @@
|
||||
package com.dota.bit._1680;
|
||||
|
||||
class Solution {
|
||||
public int concatenatedBinary(int n) {
|
||||
long res = 0;
|
||||
var mod = 1000_000_007;
|
||||
var x = 0;
|
||||
for (int i = 1; i <= n; i++) {
|
||||
if ((i & (i - 1)) == 0) {
|
||||
x++;
|
||||
}
|
||||
res = ((res << x) + i) % mod;
|
||||
}
|
||||
return (int) res;
|
||||
}
|
||||
}
|
28
src/main/java/com/dota/bit/_2438/Solution.java
Normal file
28
src/main/java/com/dota/bit/_2438/Solution.java
Normal file
@@ -0,0 +1,28 @@
|
||||
package com.dota.bit._2438;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
class Solution {
|
||||
public int[] productQueries(int n, int[][] queries) {
|
||||
List<Long> ans = new ArrayList<>();
|
||||
int x = 0;
|
||||
while(n>0) {
|
||||
int t = n & 1;
|
||||
if (t==1) {
|
||||
ans.add(1L << x);
|
||||
}
|
||||
n >>= 1;
|
||||
x++;
|
||||
}
|
||||
var res = new int[queries.length];
|
||||
for (int i = 0; i < queries.length; i++) {
|
||||
long sum = 1;
|
||||
for (int j = queries[i][0]; j <= queries[i][1]; j++) {
|
||||
sum = sum * ans.get(j) % 1000000007;
|
||||
}
|
||||
res[i] = (int) (sum % (1000000007));
|
||||
}
|
||||
return res;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user