我试图找出如何接受2个整数参数,一个初始整数称为“start”,另一个整数称为“destination”。我想使用我的方法中的两个参数,首先检查起始整数是否在矩阵中,然后检查目标整数是否与它周围的4个元素(north,east,south,west)相邻。
例1:
如果起始整数是(6),则检查目的整数(7)是否与起始整数相邻。如果是真的,那就做点什么。
int[][] matrix = {{0,1,2,},
{3,4,5,},
{6,7,8}};
public static double check(int start, int destination)
{
for(int row = 0; row < matrix.length; row++)
{
for(int col = 0; col < matrix[0].length; col++)
{
// check if the start integer is in the matrix
if(matrix[row][col] == start)
{
// check if destination integer is adjacent to starting integer:
if (destination is adjacent to start)
{
// do something
}
}
}
}
}
如果您的start
元素位于矩阵中,那么有4个位置可以检查destination
元素:left、RIGHT、UP、down
。您可以添加一个默认设置为false的变量,并检查4个点,记住不要越界:
public static double check(int start, int destination) {
for (int row = 0; row < matrix.length; row++) {
for (int col = 0; col < matrix[0].length; col++) {
// check if the start integer is in the matrix
if (matrix[row][col] == start) {
// check if destination integer is adjacent to starting integer:
boolean destIsAdj = false;
//left
if (col - 1 > 0 && matrix[row][col-1] == destination)
destIsAdj = true;
//right
else if (col + 1 < matrix[0].length && matrix[row][col+1] == destination)
destIsAdj = true;
//up
else if (row - 1 > 0 && matrix[row-1][col] == destination)
destIsAdj = true;
//down
else if (row + 1 < matrix.length && matrix[row+1][col] == destination)
destIsAdj = true;
if (destIsAdj){
// adjacent! do something
}
else {
// not adjacent! do something else
}
}
}
}
return 0.0;
}
问题内容: 在Swift中,如何检查数组中是否存在元素?Xcode没有针对,,或的任何建议,并且快速搜索本书不会发现任何结果。知道如何检查吗?我知道有一种方法可以返回索引号,但是有没有一种方法可以返回像ruby一样的布尔值? 我需要的示例: 问题答案: 斯威夫特2、3、4、5: 是(用于元素序列的) 协议扩展方法 ,而不是早期版本中的全局方法。 备注: 该方法要求序列元素采用协议。 如果序列元素是
在Swift中,如何检查数组中是否存在元素?Xcode没有关于、或的任何建议,并且在这本书中快速搜索没有任何结果。知道怎么查这个吗?我知道有一个方法返回索引号,但是有没有一个方法像Ruby的那样返回一个布尔值? 我需要的示例:
问题内容: 示例:我正在检查是否存在像这样的数组元素: 但是,我不断收到此错误: 当然,我第一次想要实例时,$ instances不会知道密钥。我想我对可用实例的检查是错误的? 问题答案: 您可以使用语言构造或函数。 应该更快一些 (因为它不是函数) ,但是如果元素存在并且具有value,则将返回false 。 例如,考虑以下数组: 和这三个测试,依赖于: 第一个会得到您( 该元素存在,并且不为n
我想比较两个数组,看看它们是否有相同的值。 如果我有一个数组,名为 以及如何将坐标放入“coords”变量(哦,等等,它被称为“ship”,而不是coords。我忘了): //arr.add(new javax.vecmath.vector3f(float.parsefloat(x),float.parsefloat(y),float.parsefloat(z));}谢谢!
如何检查两个数组(循环)是否具有相同顺序的相同元素。例如,让我们以数组[1,2,3,4]为例。 对于[2,3,4,1]、[3,4,1,2]、[4,1,2,3],测试应返回true,但对于[1,3,2,4]、[1,4,2,3]或[1,2,3,5]则不返回true。 我最初的方法是找到第一个匹配项——每个数组中一个相等的元素——并将这两个元素视为各自数组的初始元素,我逐个比较了数组的其余元素。 有没有
除了迭代嵌套循环并检查每个值是否等于1之外,最适合Python的方法是什么?