970.Powerful Integers
970.Powerful Integers
难度:Easy
Given two positive integers x and y, an integer is powerful if it is equal to x^i + y^j for some integers i >= 0 and j >= 0.
Return a list of all powerful integers that have value less than or equal to bound.
You may return the answer in any order. In your answer, each value should occur at most once.
Example 1:
Input: x = 2, y = 3, bound = 10
Output: [2,3,4,5,7,9,10]
Explanation:
2 = 2^0 + 3^0
3 = 2^1 + 3^0
4 = 2^0 + 3^1
5 = 2^1 + 3^1
7 = 2^2 + 3^1
9 = 2^3 + 3^0
10 = 2^0 + 3^2
Example 2:
Input: x = 3, y = 5, bound = 15
Output: [2,4,6,8,10,14]
Note:
1 <= x <= 100
1 <= y <= 100
0 <= bound <= 10^6直观暴力解法,需要考虑特殊情况,如x、y为1的情况。
执行用时 :1084 ms, 在所有 C++ 提交中击败了5.60%的用户 内存消耗 :8.6 MB, 在所有 C++ 提交中击败了80.70%的用户
两重遍历,长度是对数。另外需要使用集合去重。
执行用时 :4 ms, 在所有 C++ 提交中击败了91.60%的用户 内存消耗 :8.8 MB, 在所有 C++ 提交中击败了78.07%的用户
Last updated
Was this helpful?