• 118th LeetCode Weekly Contest Powerful Integers


    Given two non-negative 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

    emmm,暴力也能过哒

    int poww(int a, int b) {
        int ans = 1, base = a;
        while (b != 0) {
            if (b & 1 != 0)
                ans *= base;
                base *= base;
                b >>= 1;
        }
        return ans;
    }
    
    class Solution {
    public:
        vector<int> powerfulIntegers(int x, int y, int bound) {
            int sum = 0;
            int r,l;
            vector<int>Ve;
            map<int,int>Mp;
            
            if(x == 1){
                r = bound;
            }
            else if(x!=1){
                r = log(bound)/log(x)+1;
            }
            if(y == 1){
                l =bound;
            }else if(y!=1){
                l = log(bound)/log(y)+1;
            }
            for(int i=0;i<=r;i++){
                for(int j=0;j<=l;j++){
                        sum = poww(x,i) + poww(y,j);
                        if(sum>bound) continue;
                        Mp[sum]++;
                      
                        if(Mp[sum]<=1){
                            
                            Ve.push_back(sum);
                        }
                      
                }
            }
            
            return Ve;
        }
    };
  • 相关阅读:
    javaScript 匿名函数 理解
    javaScript this理解
    javaScript原型链理解
    Django学习笔记
    python mysql应用
    华为OBS上传,与modelart添加标签--python
    pyhton 定时任务
    制作滑动验证码(未完待续)
    测试扫描支付功能
    js 易错点(未完待续)
  • 原文地址:https://www.cnblogs.com/yinghualuowu/p/10228769.html
Copyright © 2020-2023  润新知