মান লিখুন: আমাদের কাছে দুটি সংখ্যা l এবং r রয়েছে। l এবং r (দুটি ইনক্লুসিভ) এর মাঝপথে একটি পূর্ণসংখ্যা x খুঁজে বের করতে হবে যাতে x-র সব অঙ্ক আলাদা আলাদা হয়।
উদাহরণ
যদি ইনপুট হয় l = 211; r = 230, তবে আউটপুট হবে 213।
সমাধানের ধাপসমূহ
for k := l থেকে r পর্যন্ত:
h := k কে স্ট্রিং-এ রূপান্তর করুন
s সেট তৈরি করুন
for i := 0 থেকে h.length-1:
h[i] s-তে ইনসার্ট করুন
যদি s.size() == h.size():
h রিটার্ন করুন
"-1" রিটার্ন করুন
C++ বাস্তবায়ন
#include <bits/stdc++.h>
using namespace std;
string solve(int l, int r) {
for (int k = l; k <= r; k++) {
string h = to_string(k);
set<char> s;
for (int i = 0; i < h.size(); i++)
s.insert(h[i]);
if (s.size() == h.size()) {
return h;
}
}
return "-1";
}
int main() {
int l = 211, r = 230;
cout << solve(l, r) << endl;
}
ইনপুট
211, 230
আউটপুট
213