Last Index of Number
PROBLEM:- Given an array of length N and an integer x, you need to find and return the last index of integer x present in the array. Return -1 if it is not present in the array.
Last index means – if x is present multiple times in the array, return the index at which x comes last in the array.
You should start traversing your array from 0, not from (N – 1).
Do this recursively. Indexing in the array starts from 0.
Line 1 : An Integer N i.e. size of array
Line 2 : N integers which are elements of the array, separated by spaces
Line 3 : Integer x
last index or -1
Constraints :
1 <= N <= 10^3
4
9 8 10 8
8
Sample Output :
3
SOLUTION:-
#include<iostream>
using namespace std;
int lastIndex(int input[], int size, int x) {
/* Don't write main().
Don't read input, it is passed as function argument.
Return output and don't print it.
Taking input and printing output is handled automatically.
*/
if(size==0)
return -1;
static int i=0,pos=-1;
if(input[0]==x)
{
lastIndex(input+1,size-1,x);
i++;
pos++;
}
else
{
lastIndex(input+1,size-1,x);
if(i==0)
return -1;
pos++;
}
return pos;
}
int main(){
int n;
cin >> n;
int *input = new int[n];
for(int i = 0; i < n; i++) {
cin >> input[i];
}
int x;
cin >> x;
cout << lastIndex(input, n, x) << endl;
}