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

我鶸鰯才升到lv3 :cry:


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);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值