zoukankan      html  css  js  c++  java
  • LC 970. 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

    Runtime: 9 ms, faster than 52.02% of Java online submissions for Powerful Integers.

    class Solution {
      public static void init(List<Integer> A, int x, int bound){
        if(x == 1){
          A.add(1);
          return;
        }
        for(int i=0; ; i++){
          int tmp = (int) Math.pow(x, i);
          if(tmp < bound){
            A.add(tmp);
          }else break;
        }
        return ;
      }
      public List<Integer> powerfulIntegers(int x, int y, int bound) {
        List<Integer> arrx = new ArrayList<>();
        List<Integer> arry = new ArrayList<>();
        init(arrx, x, bound);
        init(arry, y, bound);
        Set<Integer> s = new HashSet<>();
        for(int i=0; i<arrx.size(); i++){
          for(int j=0; j<arry.size(); j++){
            if(arrx.get(i) + arry.get(j) <= bound) s.add(arrx.get(i) + arry.get(j));
          }
        }
        List<Integer> ret = new ArrayList<>();
        Iterator<Integer> iter = s.iterator();
        while(iter.hasNext()){
          ret.add(iter.next());
        }
        return ret;
      }
    }
  • 相关阅读:
    memcached全面剖析
    WiX安装选项注册程序集到GAC和VS的设计时环境
    WiX和DTF介绍
    WCF REST Starter Kit
    Windows 远程管理WinRM
    启用WCF NetTcpBinding的共享端口
    RESTful WCF
    ASP.NET可以在Windows Server 2008 R2 Server Core上运行
    asp.net mvc cms项目Oxite
    推荐一个非常不错的WCF通用代理类
  • 原文地址:https://www.cnblogs.com/ethanhong/p/10256898.html
Copyright © 2011-2022 走看看