23.05.02每日一题
题目意思就是求满足要求的所有强整数且不重复
直接暴力模拟所有满足要求的,然后使用set去重。
class Solution {
public List<Integer> powerfulIntegers(int x, int y, int bound) {
Set<Integer> set=new HashSet<>();
int v1=1;
for(int i=0;i<21;i++){
int v2=1;
for(int j=0;j<21;j++){
if(v1+v2<=bound){
set.add(v1+v2);
}else{
break;
}
v2*=y;
}
if(v1+v1>bound){
break;
}
v1*=x;
}
return new ArrayList<>(set);
}
}
时间复杂度O(log^2 bound)
时间复杂度O(log^2 bound)