小红拿到了一个数组,她每次可以选择一个数使其加。小红希望数组中的每个数都和其它元素不同,她想知道最小的操作次数是多少?

区块链毕设网qklbishe.com为您提供问题的解答

小红拿到了一个数组,她每次可以选择一个数使其加小红拿到了一个数组,她每次可以选择一个数使其加。小红希望数组中的每个数都和其它元素不同,她想知道最小的操作次数是多少?。小红希望数组中的每个数都和其它元素不同,她想知道最小的操作次数是多少?

import java.util.*;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.HashMap;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        Long n = in.nextLong();
        Long k = in.nextLong();
        Map<Long, Integer> map = new HashMap<>();
        for (int i = 0; i < n; i++) {
            Long a = in.nextLong();
            map.put(a, map.getOrDefault(a, 0) + 1);
        }
        Set<Long> add = new HashSet<>();
        Long res = 0L;
        for(Map.Entry<Long,Integer> entries:map.entrySet()){
            Long key = entries.getKey();
            int value = entries.getValue();
            while(value > 1){
                Long temp = key+(value-1) * k;
                res += value – 1;
                while(map.containsKey(temp)){
                    res++;
                    temp += k;
                }
                while(add.contains(temp)){
                    res++;
                    temp += k;
                }
                add.add(temp);
                value–;
            }
        }
        System.out.print(res);
    }
}
//笨办法

31:20

以上就是关于问题小红拿到了一个数组,她每次可以选择一个数使其加。小红希望数组中的每个数都和其它元素不同,她想知道最小的操作次数是多少?的答案

欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。

区块链NFT链游项目方科学家脚本开发培训

承接区块链项目定制开发

微信:btc9767

QQ :1330797917

TELEGRAM: BTCOK9

承接区块链项目定制开发


qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 小红拿到了一个数组,她每次可以选择一个数使其加。小红希望数组中的每个数都和其它元素不同,她想知道最小的操作次数是多少?