关于#java#的问题:村长对村民说,让每位村民猜一猜奖金的数额是多少,谁猜的数额跟奖金额最接近,村长自己不参与竞猜

某村有 1 位村长和 5 位村民。过年了,村里要庆祝一下。村长对村民说,村里有一笔奖金,让每位村民猜一猜奖金的数额是多少,谁猜的数额跟奖金额最接近,就算猜中,这笔奖金就归谁,村长自己不参与竞猜。如果有多个村民猜中,则由这些村民平分这笔奖金。请编写程序帮村长算一算有哪些村民猜中,每位村民分得多少奖金。


public class Main {
    public static void main(String[] args) {
        Main main = new Main();
        int money = 5;
        List<Integer> winners = main.getWin(Arrays.asList(1,2,3,4,5),money);
        System.out.println("中奖人:"+winners);
        System.out.println("中奖金额:"+money/winners.size());
    }

    public List<Integer> getWin(List<Integer> guesses, int num){
        List<Integer> ans = new ArrayList<>();
        int diff = Integer.MAX_VALUE;
        for(int i = 0; i < 5; i++){
            int curr = Math.abs(guesses.get(i)-num);
            if(curr>diff) continue;
            if(curr < diff){
                ans.clear();
                diff = curr;
            }
            ans.add(i+1);
        }
        return ans;
    }
}