Rectangle Leetcode Solution ကိုတည်ဆောက်ပါ


ခက်ခဲအဆင့် လွယ်ကူသော
သင်္ချာ

ပြructနာကိုတည်ဆောက်ပါ Rectangle Leetcode Solution ကသင်ဟာဝဘ်ဒီဇိုင်းပညာရှင်တစ်ယောက်ဖြစ်တယ်လို့ပြောထားပါတယ်။ ထို့အပြင်သင့်အားကြိုတင်သတ်မှတ်ထားသောsomeရိယာအချို့ရှိသောဝဘ်စာမျက်နှာတစ်ခုကိုဒီဇိုင်းဆွဲရန်သင့်အားတာဝန်ပေးအပ်ထားသည်။ ဒီဇိုင်းအပေါ်ချမှတ်ထားအချို့သောအခက်အခဲများရှိပါသည်။ ဝဘ်စာမျက်နှာ၏အရှည်သည်ပိုကြီးသည် (သို့) ၀ က်ဘ်စာမျက်နှာ၏အကျယ်နှင့်ညီသည်။ ဒီဇိုင်းပြုလုပ်ထားသောဝဘ်စာမျက်နှာ၏theရိယာသည်ထိုနေရာနှင့်ညီမျှရမည်။ နောက်ဆုံးနှင့်အနည်းဆုံးတော့အရှည်နှင့်အကျယ်အကြားခြားနားချက်သည်တတ်နိုင်သမျှသေးငယ်သင့်သည်။ ဒီတော့ပြfewနာကိုမဖြေရှင်းနိုင်ခင်ဥပမာအနည်းငယ်ကိုကြည့်ကြစို့။

Rectangle Leetcode Solution ကိုတည်ဆောက်ပါ

area = 4
[2,2]

ရှင်းလင်းချက်။ equalရိယာ ၄ ခုရှိသောဝဘ်စာမျက်နှာ၏အရှည်နှင့်အကျယ်မှာ ၁ × ၄ သို့မဟုတ် ၂ × ၂ ဖြစ်နိုင်သည်။ ဒါပေမယ့်ကျနော်တို့ကသူတို့အကြားနိမ့်ဆုံးခြားနားချက်ရှိသည်သောထိုကဲ့သို့သောအရှည်နှင့် width ကိုရှာဖွေရန်လိုအပ်ပါတယ်ကတည်းက။ 4 × 1 ရှုထောင့်ကိုရွေးချယ်တာကပိုကောင်းတယ်။ 4 × 2 အတိုင်းအတာသည်အရှည်သည်စာမျက်နှာ၏အကျယ်နှင့်တူညီသည် ဟူ၍ ဖြစ်သည်။

area = 23
[23, 1]

ရှင်းလင်းချက်။ ။ areaရိယာ = ၂၃ ခုရှိတဲ့ web စာမျက်နှာ ၂ ခုသာရှိနိုင်တယ်။ အရွယ်အစား ၂၃ × ၁ ဒါမှမဟုတ် ၁ × ၂၃ ရနိုင်တယ်။ 23 × 23 အရွယ်အစားရှိသောဝက်ဘ်စာမျက်နှာသည်ကျွန်ုပ်တို့၏ပထမအခြေအနေကိုချိုးဖောက်သောကြောင့်။ ကျွန်ုပ်တို့တွင် 1 × 1 အရွယ်သာရှိသောဝက်ဘ်စာမျက်နှာရှိသည်။

Rectangle Leetcode Solution ကိုတည်ဆောက်ရန်ချဉ်းကပ်မှု

တည်ဆောက်ပုံပြproblemနာက Rectangle Leetcode Solution ကကြိုတင်သတ်မှတ်ထားသောwithရိယာနှင့်သင့်တော်သော ၀ က်ဘ်စာမျက်နှာ၏အရွယ်အစားကိုရှာဖွေရန်ပြောသည်။ ၀ က်ဘ်စာမျက်နှာ၏အတိုင်းအတာများသည်သတ်မှတ်ထားသောကန့်သတ်ချက်များကိုကျေနပ်သင့်သည်။ အခက်အခဲသုံးခုမှာ - အရှည်သည် web page ၏အကျယ်နှင့်ညီမျှရမည်၊ ဒီဇိုင်းပြုလုပ်ထားသော web စာမျက်နှာ၏theရိယာသည်ပေးထားသောtoရိယာနှင့်တူညီရမည်၊ အရှည်နှင့်အကျယ်အကြားခြားနားချက်သည်အနည်းဆုံးဖြစ်ရမည်။ ကျွန်ုပ်တို့သည်ကိန်းဂဏန်းများအစုတခုကို ၁ မှစတုရန်းရင်းသို့သုညသို့ကိန်းဖြတ်ခြင်းဖြင့်ရိုးရှင်းစွာကွင်းဆက်ခြင်းဖြင့်လွယ်ကူစွာရှာဖွေနိုင်သည်။ လက်ရှိကိန်းသည်areaရိယာကိုခွဲခြားသည်ကိုစစ်ဆေးသည်။ ထိုသို့ပြုလုပ်ပါက၎င်းသည်သူနှင့်သက်ဆိုင်သောကွဲပြားသောကွာခြားမှု (လက်ရှိကိန်းအားဖြင့်ပေးထားသောdivရိယာကိုခွဲဝေခြင်းဖြင့်ရရှိသောလဒ်) သည်လက်ရှိသတ်မှတ်ချက်နှင့်ကွာခြားမှုနည်းမှုရှိမရှိစစ်ဆေးသည်။ အခြေအနေအားလုံးကိုလိုက်နာပါကအဖြေကိုကျွန်ုပ်တို့ထပ်မံဖြည့်စွက်မည်။

ပေးထားသောကန့်သတ်ချက်များကိုအမြဲကျေနပ်စေသောကြောင့်အစတွင်ကျွန်ုပ်တို့သည်အဖြေကို areax1 အဖြစ်သတ်မှတ်သည်။ ပြီးတော့ဖြေရှင်းချက်မှာ၊ သူတို့နဲ့ကွာခြားမှုနည်းတဲ့ပိုကောင်းတဲ့ set ကိုရှာဖို့ကြိုးစားတယ်။ အဆုံးမှာတော့ရှုထောင့်ကိုပြန်ပေးတယ် အခင်းအကျင်း.

Rectangle Leetcode Solution ကိုတည်ဆောက်ရန် Code

C ++ ကုဒ်

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

vector<int> constructRectangle(int area) {
    vector<int> ans({area, 1});
    for(int i=1;i*i<=area;i++){
        if(area%i == 0 && (area/i - i)<(ans[0] - ans[1]))
            ans[0] = area/i, ans[1] = i;
    }
    return ans;
}

int main(){
    vector<int> ans = constructRectangle(4);
    cout<<ans[0]<<", "<<ans[1];
}
2, 2

ဂျာဗားကုဒ်

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

class Main
{
    public static int[] constructRectangle(int area) {
        int[] ans = {area, 1};
        for(int i=1;i*i<=area;i++){
            if(area%i == 0 && (area/i - i)<(ans[0] - ans[1])){
                ans[0] = area/i;
                ans[1] = i;
            }
        }
        return ans;
    }
    
  public static void main (String[] args) throws java.lang.Exception{
    int[] ans = constructRectangle(4);
    
    System.out.println(ans[0] + ", " + ans[1]);
  }
}
2, 2

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

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

အို (sqrt (N))၊ N သည်အသုံးပြုသူအားပေးသည့်providedရိယာဖြစ်သည်။ ကျနော်တို့ပေးထားသောofရိယာ၏ divisors သည်သူ၏စတုရန်းအမြစ်သည်အထိရှာရန်ကြိုးစားခဲ့သောကြောင့်, အချိန်ရှုပ်ထွေး input ကို၏စတုရန်းအမြစ်ဖြစ်ပါတယ်။

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

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