(116). 30.4. SUBARRAY WITH PALINDROMIC CONCATENATION. - anishsingh90/Data_Structure_And_Algorithm_In_Cpp_github.io GitHub Wiki

#include <bits/stdc++.h> using namespace std;

bool isPalindrome(int n) { int temp = n, number = 0;

while (temp > 0) {
    number = number * 10 + temp % 10;
    temp = temp / 10;
}

return (number == n);

}

int findPalindromicSubarray(vector arr, int k) { int num = 0;

for (int i = 0; i < k; i++) {
    num = num * 10 + arr[i];
}

if (isPalindrome(num)) {
    return 0;
}

for (int j = k; j < arr.size(); j++) {
    num = (num % (int)pow(10, k - 1)) * 10 + arr[j];

    if (isPalindrome(num)) {
        return j - k + 1;
    }
}

return -1;

}

int main() { vector arr = {2, 3, 5, 1, 1, 5}; int k = 4;

int ans = findPalindromicSubarray(arr, k);

if (ans == -1) {
    cout << "Palindromic subarray doesn't exist" << endl;
} else {
    for (int i = ans; i < ans + k; i++) {
        cout << arr[i] << " ";
    }
    cout << endl;
}

return 0;

}

/* OUTPUT: 5 1 1 5 */

⚠️ **GitHub.com Fallback** ⚠️