java第二次测试笔试题_微软第二次笔试第一题java代码 已AC
import java.util.HashMap;
import java.util.Scanner;
import java.util.Set;
/**
* Queen attack
* @author 西門小呆瓜
*/
public class Main{
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
while(s.hasNext()){
int start=s.nextInt();
HashMap rowMap=new HashMap();
HashMap columnMap=new HashMap();
HashMap leftMap=new HashMap();
HashMap rightMap=new HashMap();
for(int i=0;i
int one=s.nextInt();
int two=s.nextInt();
rowMap=insertValueToMap(rowMap, two);
columnMap=insertValueToMap(columnMap, one);
leftMap=insertValueToMap(leftMap, two-one);//map(key,value) key為到中心對角線的距離,為便于計算均舍去分母
rightMap=insertValueToMap(rightMap, one+two-start-1);//map(key,value) key為到中心對角線的距離,為便于計算均舍去分母
}
int sumRow=0,sumColumn=0,sumLeft=0,sumRight=0;
sumRow=getSumByMap(rowMap);
sumColumn=getSumByMap(columnMap);
sumLeft=getSumByMap(leftMap);
sumRight=getSumByMap(rightMap);
System.out.println(sumRow+sumColumn+sumLeft+sumRight);
}
}
/**
* map的key為鍵值,value為數據和
* @author 西門小呆瓜
*/
public static HashMap insertValueToMap(HashMap targetMap,int value){
if(targetMap.containsKey(value)){
int temp=targetMap.get(value);
temp++;
targetMap.put(value, temp);
}
else{
targetMap.put(value, 1);
}
return targetMap;
}
/**
* 取出map中attack的數量
* @author 西門小呆瓜
*/
public static int getSumByMap(HashMap targetMap){
int tempSum=0;
Set set=targetMap.keySet();
for(int i:set){
int k=targetMap.get(i);
tempSum+=k*(k-1)/2;
}
return tempSum;
}
}
總結
以上是生活随笔為你收集整理的java第二次测试笔试题_微软第二次笔试第一题java代码 已AC的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java什么是最终类型_golang和j
- 下一篇: qt获取开发板ip地址_qt获取网络ip