पूर्णांक दोन अरो-शून्य पूर्णांक लीटकोड सोल्यूशनच्या योगामध्ये रूपांतरित करा


अडचण पातळी सोपे
वारंवार विचारले एचआरटी
गणित

दोन नो-झीरो इंटीजर्स लीटकोड सोल्यूशनच्या बेरीजसाठी समस्या कन्व्हर्ट कन्व्हर्टरने दिलेल्या विभाजन करण्यास सांगितले. पूर्णांक. दिलेले पूर्णांक दोन संख्येने विभाजित केले पाहिजे. या दोन पूर्णांकांवर बंधने आणली आहेत. या दोन पूर्णांकांमध्ये अंक 0 नसावेत. चांगल्या समजण्यासाठी आपण काही उदाहरणे पाहू.

पूर्णांक दोन अरो-शून्य पूर्णांक लीटकोड सोल्यूशनच्या योगामध्ये रूपांतरित करा

n = 2
[1,1]

स्पष्टीकरणः आउटपुटमधील दोन पूर्णांक 1 आणि 1 आहेत. पूर्णांक समान असू शकतात परंतु त्यांचे अंक 0 नसावेत. आउटपुटमध्ये मर्यादा पूर्ण केली जातात. दोन्ही पूर्णांकांची बेरीज देखील इनपुट समान आहे. हे आऊटपुट योग्य आहे.

n = 1010
[11, 999]

स्पष्टीकरणः आउटपुट योग्य आहे कारण दोन्ही पूर्णांकाची बेरीज 1010 इतकी आहे. आणि त्यांचेही 0 बरोबर समान अंक नाहीत.

दोन नो-झीरो पूर्णांक लीटकोड सोल्यूशनच्या बेरीजसाठी कन्व्हर्ट पूर्णांकीचा दृष्टीकोन

समस्येने आम्हाला दिलेला इनपुट दोन पूर्णांकांमध्ये विभाजित करण्यास सांगितले. जी अट पूर्ण केली पाहिजे ते वरील वर्णनात आधीच नमूद केले आहे. पहिली अट म्हणजे पूर्णांकाची बेरीज दिलेल्या पूर्ण संख्येइतकीच असणे आवश्यक आहे. आउटपुटमध्ये कोणतेही 0 अंक नसावेत म्हणून परत केले जाणारे दोन पूर्णांक. समस्येचे निराकरण करण्यासाठी, आम्ही पहिल्या पूर्णांक संख्या 1 पासून एन पर्यंत लूप चालवितो. दुसरा पूर्णांक पहिल्या नात्यातून कमी केला जाऊ शकतो. मग आम्ही तपासू की दोन्ही पूर्णांक दुसर्‍या अट पूर्ण करतात की नाहीत.

दुसरी अट तपासण्यासाठी, आम्ही एक सानुकूल कार्य तयार करतो जे पूर्णांक इनपुट म्हणून घेते. दिलेले पूर्णांक 0 आहे की नाही यावर अवलंबून हे खरे किंवा खोटे परत करते. हे तपासण्यासाठी आम्ही शेवटपर्यंत एकामागून एक अंक काढत राहतो.

कोड

दोन +-शून्य पूर्णांक लीटकोड सोल्यूशनची बेरीज करण्यासाठी पूर्णांक पूर्ण करण्यासाठी C ++ कोड

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

bool check(int n){
    while(n>0){
        if(n%10 == 0)
            return false;
        n/=10;
    }
    return true;
}

vector<int> getNoZeroIntegers(int n) {
    for(int i=1;i<n;i++){
        if(check(i) && check(n-i))
            return {i, n-i};
    }
    return {-1,-1};
}

int main(){
    int input = 1010;
    vector<int> output = getNoZeroIntegers(input);
    cout<<output[0]<<" "<<output[1];
}
11 999

टू नो-झिरो इंटीजर लीटकोड सोल्यूशनची बेरीज करण्यासाठी पूर्णांक संख्येस रुपांतरित करण्यासाठी जावा कोड

import java.util.*;
import java.lang.*;
import java.io.*;

class Main
{
  private static boolean check(int n){
        while(n>0){
            if(n%10 == 0)return false;
            n/=10;
        }
        return true;
    }
    
    public static int[] getNoZeroIntegers(int n) {
        for(int i=1;i<n;i++){
            if(check(i) && check(n-i))
                return new int[]{i, n-i};
        }
        return new int[]{-1,-1};
    }
    
  public static void main (String[] args) throws java.lang.Exception{
    int input = 1010;
      int[] output = getNoZeroIntegers(input);
      System.out.print(output[0]+" "+output[1]);
  }
}
11 999

गुंतागुंत विश्लेषण

वेळ कॉम्प्लेक्सिटी

ओ (एनएलजीएन), जेथे एन हा इनपुट म्हणून दिलेला पूर्णांक आहे. लॉगमध्ये बेस 10 आहे कारण आमचे फंक्शन जे पूर्णांक 0 आहे किंवा नाही हे लॉगएन वेळेत कार्य करत नाही किंवा नाही हे तपासते.

स्पेस कॉम्प्लेक्सिटी

ओ (1), आम्ही कोणतीही माहिती संग्रहित करत नाही. आणि संपूर्ण अल्गोरिदम स्थिर संख्या सतत वापरते. अशा प्रकारे जागेची जटिलता स्थिर आहे.