Trong bài toán này, chúng ta được đưa ra một mảng arr [] gồm n số nguyên. Nhiệm vụ của chúng tôi là tạo một chương trình để tìm sự khác biệt lớn nhất giữa chỉ số của nhiều số khác nhau trong C ++.
Mô tả mã - Ở đây, chúng ta cần tìm sự khác biệt lớn nhất giữa chỉ số của các giá trị nguyên của mảng, cho rằng hai số nguyên khác nhau.
Hãy lấy một ví dụ để hiểu vấn đề,
Đầu vào
arr[] = {4, 1, 3, 2, 1, 2, 4}
Đầu ra
5
Giải thích
Sự khác biệt giữa chỉ mục 0, phần tử 4 và chỉ số 5, phần tử 2.
Phương pháp tiếp cận giải pháp
Chúng tôi sẽ cố gắng tìm ra sự khác biệt lớn nhất có thể giữa chỉ mục của các phần tử đơn nhất từ mảng.
Chương trình hiển thị việc triển khai giải pháp của chúng tôi,
Ví dụ
#include <iostream> using namespace std; int maximum(int a, int b){ if(a > b) return a; return b; } int CalcMaxIndDiff(int a[], int n) { int indDiff1 = 0, indDiff2 = 0; int i = 0; while(i < (n - 1)){ if(a[0] != a[i]){ indDiff2 = i; break; } i++; } i = (n - 1) ; while(i > 0){ if(a[0] != a[i]){ indDiff1 = i; break; } i--; } return maximum(indDiff1, indDiff2); } int main() { int arr[] = { 4, 1, 3, 2, 1, 2, 4 }; int n = 7; cout<<"The maximum difference between the index of any two different numbers is "<<CalcMaxIndDiff(arr, n); return 0; }
Đầu ra
The maximum difference between the index of any two different numbers is 5