我正在尝试解决这个问题:
给定只有3个唯一数字的整数数组,它们会在O(n)时间中按升序(以及它们各自的频率)打印数字。
我想不使用counting sort算法来解决它,所以我想我可以做一个,for loop然后将数字插入a HashMap,然后loop通过HashMap entrySet并打印所需的信息。
这是函数:
public static void printOut(int[] arr){
Map<Integer,Integer> hm=new HashMap<Integer,Integer>();
for(int num : arr){
if(hm.containsKey(num)){
hm.put(num,hm.get(num)+1);
}else{hm.put(num,1);}
}
for(Map.Entry<Integer,Integer> entry : hm.entrySet()){
System.out.println("Key= "+entry.getKey()+" Value= "+entry.getValue());
}
}
Run Code Online (Sandbox Code Playgroud)
当我的数组是时,这就是窍门: [3, 3, 2, 1, 3, 2, 1]
但是上面的数组不应导致任何冲突,因此我尝试使用应该导致冲突的数组,我测试过我的函数的数组之一是:[6,6,9,9,6,3,9]但是我的函数仍然Keys按升序打印,这让我感到困惑,因为我以为当的Keyof HashMap是一个整数时,哈希码应该是hashIndex = key % noOfBuckets这样,当我有数字时6, 9 and 3,我HashMap keys以为会发生冲突,并且我的函数应该打印(基于上面使用的数组):
Key= 6 Value= 3
Key= 9 …Run Code Online (Sandbox Code Playgroud) 我正在远程Windows服务器上的一个Web项目(使用.Net框架构建)上,该项目已连接到数据库my SQL server management studio,现在在其他多个远程Windows服务器上,存在一个链接到同一数据库的同一个Web项目,现在我更改项目中页面的代码或添加/删除数据库中的table或stored procedure,是否有办法(或已经存在的软件)将我对所有其他人所做的更改部署(或选择多个服务器)如果我不想将更改部署到所有更改)?