Slasher Slasher - 8 months ago 45
C# Question

Finding the last repetition index of element in array

How do you retrieve the last repetition index of element in array in C#?

For example you have:

int[] array = { 3, 5, 7, 8, 3, 4, 3 , 9 };


And you are searching for
element
3 where index of last repetition is 6.

This is what i have for finding first repetition:

public static int search(int lem, int[] a)
{
int j = 0;
for (int i = 0; i < a.Length; i++)
{
if (lem == a[i])
{
j = i;
return j;
}
}

return -1;
}


PS: I can't use any functions or methods. I'm allowed to use only arrays.

Answer Source

Try to search from behind. If you search from the first element of the array, you'll definitely need to search until the end of the array. If you search from behind, you can return the value directly once you find it.

public static int search(int lem, int[] a)
{
    for (int i = a.Length - 1; i >= 0; i--) 
    {
        if (lem == a[i])
        {
            return i;
        }
    }
     return -1; 
}