阿里4.20笔试-打怪得最多金币

提交程序的有点问题,后面改了一下,贴出来期望大佬挑错
问题描述:
初始能力值为 a,初始金币为0,怪物n只,血量为 b[ ],
能力值不低于血量,就可以击杀该怪物,获得一枚金币,
一枚金币可以选择加一点能力值,求手上最多的金币数(怪物可以不杀完)

    public static int getMaxNum(int a, int n, int[] b){
        Arrays.sort(b); //怪物血量升序
        int maxNum = 0;
        int temp = 0; //临时变量,记录打完第i只怪物的收益
        for (int i = 0; i < n; i++) {
            if(i + a < b[i]){ // 有一个打不过,直接结束
                break;
            }else {
                temp = i - b[i] + a + 1;
                maxNum = maxNum>temp ? maxNum:temp;//收益比较
            }
        }
        return maxNum;
    }

你可能感兴趣的:(阿里4.20笔试-打怪得最多金币)