力扣:970. 强整数

本文介绍了一个Java程序,通过枚举方法计算给定整数x和y的次方和(x^i+y^j),当结果在指定边界内且不在结果集中时,将其添加到列表中,返回所有满足条件的powerfulintegers。
摘要由CSDN通过智能技术生成

枚举解法:

1.枚举出了次方i和j的全部值的情况下的sum值,同时i和j的范围是0到20。课外的补充有Math.pow()来计算次方的方法,contains()是ArrayList中包含特定值的方法

class Solution {
    public List<Integer> powerfulIntegers(int x, int y, int bound) {
        //接收的集合
        List<Integer>  li=new ArrayList<>();
        //遍历次方i
        for(int i=0;i<=20;i++){
            //遍历次方j
            for(int j=0;j<=20;j++){
                //计算x^i+y^j的值
                int sum=(int)Math.pow(x,i)+(int)Math.pow(y,j);
                //判断的条件sum大于0和sum小于bound和集合中不包含
                if(sum>0&&sum<=bound&&!li.contains(sum) ){
                      li.add(sum);
                }
            }
        }
         return li;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值