【发布时间】:2015-09-16 19:18:40
【问题描述】:
我有一个一维数组,我需要根据每个单元格的相邻单元格对其进行操作。
例如:
要在第一个单元格上运行操作,我需要访问最后一个单元格和第二个单元格。
第二个单元格,我需要访问第一个单元格和第三个单元格。
最后一个单元格,我需要访问第一个单元格和最后一个单元格之前的那个。
到目前为止我的代码是:
public static int[] firstRule(int[] numberArray)
{
for (int i = 0; i < numberArray.Length; i++)
{
if (numberArray[numberArray.Length - 1 - i] == numberArray[i] + 1
&& numberArray[i + 1] == numberArray[i] + 1)
{
numberArray[i] = numberArray[i] - 1;
}
}
return numberArray;
}
但我的方法的问题在于它只适用于第一个单元格,因为它会正确地占用最后一个单元格和第二个单元格,但在那之后,一切都会崩溃。我不喜欢没有大量代码的帖子,但我不知道如何跟进。
我正在努力实现以下目标:
这些值是从 0 到 3 的数字。如果前面的单元格和后面的单元格都是相同的数字,我想将其更改为 x + 1
例如:假设我有 1 0 1 2 2。我想将 0 更改为 1。因为相邻单元格都是 0。
【问题讨论】:
-
这些值是从0到3的数字。如果之前的单元格和之后的单元格都是相同的数字,我想将其更改为x + 1。
-
例如:假设我有 1 0 1 2 2。我想将 0 更改为 1。因为相邻单元格都是 0。
-
您能详细说明一下吗?我实际上认为这是解决问题的更好方法。
-
您的例子在编写时没有意义,您正在寻找的术语是数组的“元素”。这闻起来像一个有问题的工作分配..
-
你最终想要达到什么目标?...排序?