Integer ကို No-Zero Integers Leetcode Solution ၏ပေါင်းလဒ်သို့ပြောင်းပါ  


ခက်ခဲအဆင့် လွယ်ကူသော
မကြာခဏမေးတယ် HRT
algorithms coding အင်တာဗျူး အင်တာဗျူး LeetCode LeetCodeSolutions သင်္ချာ

Integer ကိုပြောင်းလဲခြင်းမရှိသောသုညပေါင်း ၂ ခုပေါင်းသည့် Leetcode Solution မှပြproblemနာကပေးထားသောအပိုင်းကိုခွဲထုတ်ရန်ကျွန်ုပ်တို့အားတောင်းဆိုခဲ့သည်။ ကိန်း။ ပေးထားတဲ့ကိန်းကိုကိန်းဂဏန်းနှစ်မျိုးခွဲလိုက်မယ်။ ဒီကိန်းနှစ်ခုပေါ်မှာကန့်သတ်ချက်ရှိတယ်။ ဒီကိန်းနှစ်ခုကဂဏန်း 0 မပါဝင်သင့်ဘူး။ ပိုကောင်းတဲ့နားလည်မှုအတွက်ဥပမာအချို့ကိုလေ့လာကြည့်ရအောင်။

Integer ကို No-Zero Integers Leetcode Solution ၏ပေါင်းလဒ်သို့ပြောင်းပါတွယ်အပ်

n = 2
[1,1]

ရှင်းလင်းချက်။ ။ output ထဲမှာကိန်းနှစ်ခုက 1 နဲ့ ၁ ဖြစ်တယ်။ ကိန်းတွေကအတူတူပဲဖြစ်နိုင်တယ်၊ ဒါပေမဲ့ဂဏန်း ၀ င်ခွင့်မရှိဘူး။ ကန့်သတ်ချက်က output ထဲမှာတွေ့တယ်။ ကိန်းနှစ်ခုလုံးရဲ့ပေါင်းလဒ်က input နဲ့ညီတယ်။ ထို့ကြောင့် output ကိုမှန်ကန်သည်။

n = 1010
[11, 999]

ရှင်းလင်းချက် - ကိန်းနှစ်ခုလုံးရဲ့ပေါင်းလဒ်က ၁၀၁၀ နဲ့ညီတာကြောင့် output ကမှန်ကန်တယ်။ ပြီးတော့သူတို့မှာ ၀ နဲ့ညီတဲ့ဂဏန်းလည်းမရှိဘူး။

Integer Integer အတွက် No-Zero Integers Leetcode Solution ၏ပေါင်းလဒ်သို့ချဉ်းကပ်မှု  

ပြproblemနာကပေးထားတဲ့ input ကိုနှစ်ပိုင်းခွဲလိုက်ဖို့ပြောတယ်။ ဖြည့်ဆည်းသင့်သည့်အခြေအနေကိုအထက်ပါဖော်ပြချက်တွင်ဖော်ပြထားသည်။ ပထမ ဦး ဆုံးအခွအေနေကိန်းများ၏ပေါင်းလဒ်သည်ပေးထားသောကိန်းနှင့်ညီမျှရမည်ဖြစ်သည်။ ကိန်းဂဏန်း 0 လုံးမပါရှိသင့်ပါ။ ပြtheနာကိုဖြေရှင်းရန်၊ 1 မှ n အထိပထမကိန်းပြည့်တွင်ကွင်းဆက်တစ်ခုကိုအသုံးပြုသည်။ ဒုတိယကိန်းကိုပထမဆက်စပ်မှုမှနှုတ်ယူနိုင်သည်။ ပြီးတော့ကိန်းနှစ်ခုလုံးကဒုတိယအခြေအနေကိုကျေနပ်လားဆိုတာစစ်ဆေးတယ်။

လည်းကြည့်ရှုပါ
Strings Equal လုပ်ရန်အနည်းဆုံးလဲလှယ်ရေးအစီအစဉ်များ Leetcode Solution

ဒုတိယအခြေအနေကိုစစ်ဆေးရန်အတွက်ကျွန်ုပ်တို့သည်ကိန်းဂဏန်းတစ်ခုကိုထည့်သွင်းရန်ယူသောစိတ်ကြိုက် function တစ်ခုကိုဖန်တီးသည်။ ပေးထားတဲ့ကိန်းမှာ ၀ မှာမပါဝင်ဘူးလားဆိုတာပေါ်မူတည်ပြီး true (သို့) false လား return ပြန်ပေးတယ်။ စစ်ဆေးခြင်းအတွက်ကျွန်ုပ်တို့သည်ဂဏန်းတစ်လုံးချင်းစီကိုအဆုံးမှဖယ်ထုတ်ခြင်းသာဖြစ်သည်။

ကုဒ်  

Integer ကို No-Zero Integers Leetcode Solution သို့ပေါင်းထည့်ရန် C ++ code

#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

Integer ကို No-Zero Integers Leetcode Solution တွင်ပေါင်းထည့်ရန် Java Code

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

ရှုပ်ထွေးဆန်းစစ်ခြင်း  

အချိန်ရှုပ်ထွေး

အို (NlogN), ဘယ်မှာ N ကို input ကိုအဖြစ်ပေးထားသောကိန်းဖြစ်ပါတယ်။ ဘာကြောင့်လဲဆိုတော့ log မှာ time 10 မပါဝင်သည်ကိုစစ်ဆေးသည်ကျွန်ုပ်တို့၏ function သည် logN time တွင်အလုပ်လုပ်သည်။

အာကာသရှုပ်ထွေးမှု

အို (၁)၊ ကျွန်ုပ်တို့သည်မည်သည့်သတင်းအချက်အလက်ကိုမသိမ်းဆည်းပါ။ ထိုအ algorithm တစ်ခုလုံးကိုကိန်းသေအဆက်မပြတ်အသုံးပြုသည်။ ထို့ကြောင့်အာကာသရှုပ်ထွေးစဉ်ဆက်မပြတ်ဖြစ်ပါတယ်။

2