急求 给一9X9 的格,和9个图。每图的四面都有不同的部分的动物,相同的动物可以匹配,如何找所有的解答?不用编写程序分析画,已知道所有的图的信息。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //9*9 public int[][] maps = new int[9][9]; //定义一个和业务有关的HashMap ---LZ根据业务需要自己初始化 public HashMap mapsrc = new HashMap(); /** * 上下左右相同元素的合并(LZ不知道您的具体业务我的算法如下) * @param n 动物数目 * @param i,j 当前坐标 * @return */ public boolean combination(int i ,int j ,int n){ //如果和前面的一致(map中的键值代表意义LZ自己定义) if(mapsrc.get(maps[i][j])==mapsrc.get(maps[i-1][j])){ //将maps[i][j]设置为key //修改maps[i][j]的图片或其他使其连成一片(此处逻辑LZ自己定义map中的值可以为图片路径或背景色等) mapsrc.put(maps[i][j], mapsrc.get(maps[i-1][j])) ; return true; } //如果和后面的一致 else if(mapsrc.get(maps[i][j])==mapsrc.get(maps[i+1][j])){ mapsrc.put(maps[i][j], mapsrc.get(maps[i+1][j])) ; return true; } //如果和上面的一致 else if(mapsrc.get(maps[i][j])==mapsrc.get(maps[i][j-1])){ mapsrc.put(maps[i][j], mapsrc.get(maps[i][j-1])) ; return true; } //如果和下面的一致 else if(mapsrc.get(maps[i][j])==mapsrc.get(maps[i][j+1])){ mapsrc.put(maps[i][j], mapsrc.get(maps[i][j+1])) ; return true; } return false; } 方法更正和上同 public boolean combination(int i ,int j ,HashMap mapsrc ){ java jdbc连接数据如何接收反馈信息! 比如在不存在表插入数据! 多线程 synchronize关键字用法 以及虚拟机对不同线程的调度 如何设计一种改进型的链表结构来优化随机定位操作的性能? java多线程几个问题? 关于JAVA里面导入类的基础问题 如何让同一个文本框内的文字拥有不同的字体及颜色? 写一个如同DOS的copy指令 有谁用过file类的构造器,参数为相对路径的??? 关于数组,为什么这么写编译也能通过? 这个java程序有什么问题吗? 如何用正则表达式提取字符串? java中有没有自由组合的函数
public int[][] maps = new int[9][9];
//定义一个和业务有关的HashMap ---LZ根据业务需要自己初始化
public HashMap mapsrc = new HashMap();
/**
* 上下左右相同元素的合并(LZ不知道您的具体业务我的算法如下)
* @param n 动物数目
* @param i,j 当前坐标
* @return
*/
public boolean combination(int i ,int j ,int n){
//如果和前面的一致(map中的键值代表意义LZ自己定义)
if(mapsrc.get(maps[i][j])==mapsrc.get(maps[i-1][j])){
//将maps[i][j]设置为key
//修改maps[i][j]的图片或其他使其连成一片(此处逻辑LZ自己定义map中的值可以为图片路径或背景色等)
mapsrc.put(maps[i][j], mapsrc.get(maps[i-1][j])) ;
return true;
}
//如果和后面的一致
else if(mapsrc.get(maps[i][j])==mapsrc.get(maps[i+1][j])){
mapsrc.put(maps[i][j], mapsrc.get(maps[i+1][j])) ;
return true;
}
//如果和上面的一致
else if(mapsrc.get(maps[i][j])==mapsrc.get(maps[i][j-1])){
mapsrc.put(maps[i][j], mapsrc.get(maps[i][j-1])) ;
return true;
}
//如果和下面的一致
else if(mapsrc.get(maps[i][j])==mapsrc.get(maps[i][j+1])){
mapsrc.put(maps[i][j], mapsrc.get(maps[i][j+1])) ;
return true;
}
return false;
}
public boolean combination(int i ,int j ,HashMap mapsrc ){