এই অনুচ্ছেদে আমরা একটি সমস্যা দেখব। এখানে n এলিমেন্ট একটি অ্যারেতে দেওয়া আছে। আমাদের চেক করতে হবে এমন একটি পারমুটেশন আছে কিনা, যাতে প্রতিটি এলিমেন্ট তার আগে বা পরে থাকা এলিমেন্টের সংখ্যা নির্দেশ করে।
ধরা যাক অ্যারে এলিমেন্টগুলো হলো {২, ১, ৩, ৩}। উপযুক্ত পারমুটেশন হলো {৩, ১, ২, ৩}। এখানে প্রথম ৩ নির্দেশ করছে এর পরে ৩টি এলিমেন্ট আছে, ১ নির্দেশ করছে এর আগে ১টি এলিমেন্ট আছে। ২ নির্দেশ করছে এর আগে ২টি এলিমেন্ট আছে এবং শেষ ৩ নির্দেশ করছে এর আগে ৩টি এলিমেন্ট আছে।
অ্যালগরিদম
checkPermutation(arr, n)
begin define a hashmap to hold frequencies. The key and value are of integer type of the map. for each element e in arr, do increase map[e] by 1 done for i := 0 to n-1, do if map[i] is non-zero, then decrease map[i] by 1 else if map[n-i-1] is non-zero, then decrease map[n-i-1] by 1 else return false end if done return true end
উদাহরণ
#include#include
আউটপুট
Permutation is present