今天看到一个题目,对于数组【1,4,5,4,6,8,8,8,9,12,134,45】 找出其中比前面数字都大,比后面的数字都小的item。写了一个很弱爆的方法。直接贴上。
public static void PrintBeforAfterNum(int[] arr)
{
int len = arr.Length;
int[] flag = new int[len];
for(int item =0; item< len;item++)
{
flag[item] = 1;
}
int min= arr[0];
for(int i= 1; i<len;i++)
{
if (arr[i]>=min)
{
min = arr[i];
}
else
{
flag[i] = 0;
}
}
int max = arr[len-1];
for (int i = len-2; i>=0; i--)
{
if (arr[i]<=max)
{
max = arr[i];
}
else
{
flag[i] = 0;
}
}
for (int i = 0; i < len; i++)
{
if (flag[i] == 1)
{
Console.WriteLine(arr[i]);
}
}
}