বিবেচনা করুন আমাদের একটি অ্যারে A আছে, এবং আরও দুটি পূর্ণসংখ্যা K এবং M রয়েছে। অ্যারেটিকে M এর সাথে একাধিকবার সংযুক্ত করার পরে আমাদের Kth ন্যূনতম উপাদান খুঁজে বের করতে হবে। ধরুন অ্যারেটি A =[3, 1, 2], K =4 এবং M =3, তাহলে A, 3 বার সংযুক্ত করার পরে, এটি হবে [3, 1, 2, 3, 1, 2, 3, 1। , 2], 4র্থ ক্ষুদ্রতম উপাদান এখানে 2।
এই সমস্যাটি সমাধান করার জন্য, আমরা অ্যারে সাজিয়ে দেব, তারপর অ্যারের সূচক ((K – 1)/M) এ উপস্থিত মানটি ফেরত দেব।
উদাহরণ
#include<iostream> #include<algorithm> using namespace std; int findKSmallestNumber(int A[], int N, int M, int K) { sort(A, A + N); return (A[((K - 1) / M)]); } int main() { int A[] = { 3, 1, 2 }; int M = 3, K = 4; int N = sizeof(A) / sizeof(A[0]); cout << K << "th smallest number after concatenating " << M << " times, is: "<<findKSmallestNumber(A, N, M, K); }
আউটপুট
4th smallest number after concatenating 3 times, is: 2