题:https://leetcode.com/problems/powerful-integers/
题目大意
对于 x,y ,求所有 xi + yj <= bound 的数值。
解题思路
brute force
i循环,j循环。这里使用a来代替 pow 函数。
当 x ,y 为1时,只需要循环一次。
class Solution {
public List<Integer> powerfulIntegers(int x, int y, int bound) {
Set<Integer> resSet = new HashSet();
for(int a = 1 ; a < bound ; a *= x){
for(int b = 1; a + b<=bound ; b *= y){
resSet.add(a+b);
if(y == 1)
break;
}
if(x == 1)
break;
}
return new ArrayList(resSet);
}
}