升级打怪穿装备,看看你能升几级

我鶸鰯才升到lv3<img src="/images/smiles/icon_cry.gif"/>

class myclass {    private final int base;    private int current;    public myclass(int base,int current){        this.base = base < 0 ? 0 : base > 15 ? 15 : base;        this.current = current < 0 ? 0 : current > 30 ? 30 : current;    }    public int getvalue(){        return base + current;    }    public void changemyclass(int input){        current = current/2 + (input < 0 ? 0 : input);    }}


lv1、写一个方法 int getbase(myclass myclass);输出myclass的base值。

lv2、写一个方法 list<integer> max(myclass myclass, list<integer> list);输出一个的list,使结果list能达到如下效果:选择原list中任意个数放入结果list,按照结果list的顺序,进行changemyclass的操作,可以使最终的getvalue得到最大值。

lv3、写一个方法 list<integer> minsum(int wantedvalue, myclass myclass, list<integer> list);输出一个的list,使结果list能达到如下效果:选择原list中任意个数放入结果list,按照结果list的顺序,进行changemyclass的操作,可以使最终的getvalue大于等于wantedvalue,且结果list中所有数的和最小。若不存在结果,抛出异常。

lv4、写一个方法 list<integer> minmax(int wantedvalue, myclass myclass, list<integer> list,int limit);输出一个的list,使结果list能达到如下效果:选择原list中小于等于limit数量的数放入结果list,按照结果list的顺序,进行changemyclass的操作,可以使最终的getvalue大于等于wantedvalue,且结果list中最大的数比其他结果list的最大数都小,若相等,比较第二大的数,以此类推。若不存在结果,抛出异常。

lv5、
class mypairclass{    myclass myleftclass;    myclass myrightclass;    public mypairclass(int base,int current){        myleftclass = new myclass(base,current);        myrightclass = new myclass(base,current);    }}class pairint{    int left;    int right;    public pairint(int left, int right){        this.left = left;        this.right = right;    }}

试写出list<pairint> minsum(pairint wantedvalue, mypairclass mypairclass, list<pairint> list);
和list<pairint> minmax(pairint wantedvalue, mypairclass mypairclass, list<pairint> list,int limit);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值