gpt4 book ai didi

java - 通过java列比较矩阵的元素

转载 作者:行者123 更新时间:2023-12-02 11:55:50 26 4
gpt4 key购买 nike

我有以下代码和以下关于矩阵列的路线的疑问,与前一个、后一个和其他代码进行比较。我从上到下选取第一列。我取出第一个元素并比较它们是否与下一个元素相同(如下)。该列的第二个位置,与上面和下面的位置比较是否相同,以此类推与第三个位置比较。我的意思是,如果我有这个专栏:

1
2
2
2
3
2
2
2
2
1

如果你有 3 个或更多相同的连续数字,我必须将它们设置为 0(我认为这就是这样做的)。输出将是:

1
0
0
0
3
0
0
0
0
1

这个我需要对每一列做,我有这个方法,我想以最简单的方式来做,最直接的解决方案,没有奇怪的事情,虽然我认为它必须是递归的,我确实这样做不知道。唯一让我失望的是创建一个零矩阵,但我找不到错误。

代码:

 public static void matrix(int[][] matrix, int size, int[] color, int position) {

int repeated = 0;
for (int row = 1; row < size; row ++) {
for (int col = 1; col < size; col++) {
if (matrix[row][col] == matrix[row][col++]) {
repeated = matrix[row][col];
}
while (matrix[row][col] == repeated) {
matrix[row][col] = 0;
row++;
}
}
}

最佳答案

这是我为您的场景构建的代码。您可以在代码中找到有用的注释。

public static void main(String[] args)
{

int matrix[][] = new int[][]{
{1,2},
{2,2},
{2,2},
{2,2},
{3,2},
{2,2},
{2,2},
{2,3},
{2,1},
{1,3}};
matrix(matrix, 10, null, 0);
System.out.println(matrix);
}

public static void matrix(int[][] matrix, int size, int[] color, int position) {
//This value keeps track of the current value checked for repetition
int repeated = 0;
//The running total for repeated
int count = 1;
//My matrix create with 2 columns,
for (int col = 0; col < 2; col ++) {
//initialized - may need length check
repeated = matrix[0][col];
count = 1;
for (int row = 1; row < size; row++) {
if (matrix[row][col] == repeated)
{
count++;
}
else
{
//reset the values when match fails
count = 1;
repeated = matrix[row][col];
}
if(count == 3)
{
//First score of 3
matrix[row][col] = 0;
matrix[row-1][col] = 0;
matrix[row-2][col] = 0;
}
else if(count > 3)
{//Scoring after 3
matrix[row][col] = 0;
}
}
}
}

这是输出

[[1, 0],

[0, 0],

[0, 0],

[0, 0],

[3, 0],

[0, 0],

[0, 0],

[0, 3],

[0, 1],

[1, 3]]

关于java - 通过java列比较矩阵的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47608860/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com