কম্পিউটার টিউটোরিয়াল

C++-এ পারমুটেশনস II (ডুপ্লিকেটসহ পারমুটেশন)


একটি ইন্টিজার কালেকশন দেওয়া আছে (ডুপ্লিকেট থাকতে পারে)। সব সম্ভাব্য ইউনিক পারমুটেশন বের করতে হবে।

উদাহরণ: [1,1,3] -> আউটপুট: [[1,1,3], [1,3,1], [3,1,1]]

সমাধান: রিকার্সিভ ব্যাকট্র্যাকিং। solve(nums, idx)। idx == size হলে রেজাল্টে যোগ। i=idx থেকে size-1 পর্যন্ত: nums[i]==nums[idx] এবং i!=idx হলে কন্টিনিউ। swap(nums[i], nums[idx]) করে রিকার্সিভ কল।

উদাহরণ (C++)

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

void print_vector(vector<vector<int> > v){
    cout << "[";
    for(int i = 0; i

ইনপুট

[1,1,3]

আউটপুট

[[1,1,3],[1,3,1],[3,1,1]]

  1. C++-এ ডায়াগোনাল ট্রায়ভার্স II

  2. প্রসেস কিল করা (Kill Process) C++-এ

  3. স্কোয়ারেল সিমুলেশন (Squirrel Simulation) C++-এ

  4. C++-এ আয়তাকার এলাকা II (Rectangle Area II) সমাধান