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

C++-এ ইন্টিজার পরিবর্তন করে সর্বোচ্চ ডিফারেন্স বের করা


একটি ইন্টিজার num দেওয়া আছে। দুবার অপারেশন করব: একটি ডিজিট x বাছাই করব, অন্য ডিজিট y দিয়ে সব x রিপ্লেস করব (লিডিং জিরো নয়, মান ০ নয়)। প্রথম ফলাফল a, দ্বিতীয় b। |a-b| সর্বোচ্চ করব।

ইনপুট: 555 → আউটপুট: 888 (a=999, b=111)

সমাধানের ধাপগুলো:

  • getMax(x): বাম থেকে প্রথম non-9 ডিজিট খুঁজে সেটাকে ৯ করব

  • getMin(x):

    • যদি প্রথম ডিজিট ১ নয়, তবে সেটাকে ১ করব

    • যদি প্রথম ডিজিট ১ হয়, তবে দ্বিতীয় non-0/1 ডিজিট খুঁজে ০ করব

  • abs(getMax(num) - getMin(num)) রিটার্ন করব

উদাহরণ

নিচের কোডটি দেখুন −

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

class Solution {
public:
    int getMax(int x) {
        string s = to_string(x);
        char a = '9';
        int i = 0;
        while (i < s.size() && s[i] == '9')
            i++;
        if (i < s.size())
            a = s[i];
        for (int i = 0; i < s.size(); i++) {
            if (s[i] == a)
                s[i] = '9';
        }
        return stoi(s);
    }
    int getMin(int x) {
        string s = to_string(x);
        char a;
        if (s[0] != '1') {
            a = s[0];
            for (int i = 0; i < s.size(); i++) {
                if (s[i] == a)
                    s[i] = '1';
            }
        } else {
            if (s.size() == 1)
                return 1;
            int i = 0;
            a = '1';
            while (i < s.size() && s[i] <= '1')
                i++;
            if (i < s.size())
                a = s[i];
            for (int i = 1; i < s.size(); i++) {
                if (s[i] == a)
                    s[i] = '0';
            }
        }
        return stoi(s);
    }
    int maxDiff(int num) {
        int a = getMax(num);
        int b = getMin(num);
        return abs(a - b);
    }
};

int main() {
    Solution ob;
    cout << (ob.maxDiff(666));
}

ইনপুট

666

আউটপুট

888

  1. ভারাইজন ৫জি: কখন এবং কোথায় পাবেন

  2. রোজার্স ৫জি: কখন এবং কোথায় পাবেন এটি

  3. আইফোন বা আইপ্যাডে মাইক্রোসফ্ট ইন্টারনেট এক্সপ্লোরার পাওয়া যায় কি?

  4. উইন্ডোজ ১০-এ সাহায্য পাওয়ার পদ্ধতি