Powerful Integers - Hash Table - Easy - LeetCode
💻 coding

Powerful Integers - Hash Table - Easy - LeetCode

1 min read 184 words
1 min read
ShareWhatsAppPost on X
  • 1A powerful integer is defined as x^i + y^j for non-negative integers i and j.
  • 2The solution involves generating all powerful integers less than or equal to a specified bound.
  • 3The algorithm uses a hash set to ensure each powerful integer is unique in the result.

AI-generated summary · May not capture all nuances

Key Insight
AskGif

"A powerful integer is defined as x^i + y^j for non-negative integers i and j."

Powerful Integers - Hash Table - Easy - LeetCode

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

public class Solution {
 public IList<int> PowerfulIntegers(int x, int y, int bound) {
 var result = new HashSet<int>();
 for(int i=1;i<=bound;i=i*x){
 for(int j=1;i+j<=bound;j=j*y){
 
 result.Add(i+j);
 if(y==1){
 break;
 }
 }
 if(x==1){
 break;
 }
 }
 
 return result.ToList();
 }
}

Time Complexity: O(n)

Space Complexity: O(n)

Enjoyed this article?

Share it with someone who'd find it useful.

ShareWhatsAppPost on X

sumitc91

Published on 30 September 2020 · 1 min read · 184 words

Part of AskGif Blog · coding

You might also like

Powerful Integers - Hash Table - Easy - LeetCode | AskGif Blog