私は整数の配列を持っています。int[] Arr={1, 4, 7, 3, 2 }
と言います。ここで、隣接する辺は2つの連続する数(配列の数ではない数の系)、すなわち1,2が隣接していることを意味する。私はコードのいくつかの行を書いて、私が短絡を見つけてそれを最適化するのを助けてください。Find配列の隣接要素間の最大距離
static void Main(string[] args)
{
int[] arr = { 1, 4, 7, 3, 2 };
Console.WriteLine("adjacent indices with maximum value is {0}",Solution(arr));
Console.ReadLine();
}
static int Solution(int[] arr)
{
int maxDistance = -1;
int newMaxDistance = 0;
int a = 0, b = 0;
for (int i = 0; i < arr.Length; i++)
{
a = arr[i];
if (i < arr.Length - 1)
{
b = arr[i + 1];
}
for (int j = i + 1; j < arr.Length; j++)
{
if (arr[j] < b && arr[j] > a)
{
maxDistance = j - i;
}
else
{
newMaxDistance = j - i;
}
}
}
if (newMaxDistance > maxDistance)
{
maxDistance = newMaxDistance;
}
return maxDistance;
}
本当にこれがCコードであると確信していますか?それはC#のように見えます。 – mch
はいこれはc#で書かれています –
配列の隣接するペアに関しては、今日私は同じような問題がありました。もしC#の実装が見つかった場合は、https://github.com/htoma/codility/blob/master /codility/Code/AdjacentPairs.cs –