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;
      }
    }
  • 相关阅读:
    2、Mybatis中一些常用的概念
    1、Mybatis的基本CRUD
    4、spring 官方下载地址
    3、Spring注解用法的一般步骤
    2、Spring开发的jar文件
    1、Spring的xml完整版命名空间
    1、Struts2和Hibernate的简单整合(带Session的管理方式)
    2、Struts2引入多个配置文件
    利用filter和动态代理解决全站乱码问题
    1、Struts2 的简单配置
  • 原文地址:https://www.cnblogs.com/ethanhong/p/10256898.html
Copyright © 2011-2022 走看看