我鶸鰯才升到lv3 :cry:
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、
试写出List<PairInt> minSum(PairInt wantedValue, MyPairClass myPairClass, List<PairInt> list);
和List<PairInt> minMax(PairInt wantedValue, MyPairClass myPairClass, List<PairInt> list,int limit);
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);