တစ် ဦး အကွာအဝေး၏ပျောက်ဆုံးနေဒြပ်စင်ရှာပါ


ခက်ခဲအဆင့် လွယ်ကူသော
မကြာခဏမေးတယ် ဒေလီ GreyOrange LinkedIn တို့ နာဂ တေးသံစုံကဇါတ် မြတ်နိုး
hash Larsen & Toubro sorting

အဆိုပါပြproblemနာတစ်ခုအကွာအဝေး၏ပျောက်ဆုံးနေဒြပ်စင်ရှာပါ "ဟုသင့်အားပေးထားသည် အခင်းအကျင်း တစ် ဦး အထူးသဖြင့်အကွာအဝေးအတွင်းကွဲပြားဒြပ်စင်များနှင့်အနိမ့်နှင့်မြင့်မားသောအဖြစ်ပေးထားသောအကွာအဝေး၏။ ပျောက်ဆုံးနေသော element များအား array ထဲမပါ ၀ င်ပါ။ output ကိုစီထားနိုင်ရန်အတွက်ဖြစ်သင့်သည်။

နမူနာ

တစ် ဦး အကွာအဝေး၏ပျောက်ဆုံးနေဒြပ်စင်ရှာပါ

arr[] = [1, 3, 5, 7, 8, 9]

low=1 high = 10
2, 4, 6, 10

ရှင်းလင်းချက်

ဤရွေ့ကားအနိမ့်နှင့်မြင့်မားသောဆိုလိုသည်မှာ 1 နှင့် 10 အဖြစ်ပေးထားအကွာအဝေးအတွင်းခင်းကျင်းထဲမှာပျောက်ဆုံးနေနံပါတ်များကိုဖြစ်ကြသည်

arr[] = [2, 3, 7, 8]

low=1 high = 9
1, 4, 5, 6, 9

ရှင်းလင်းချက်

ဤရွေ့ကားအနိမ့်နှင့်မြင့်မားသောဆိုလိုသည်မှာ 1 နှင့် 10 အဖြစ်ပေးထားအကွာအဝေးအတွင်းခင်းကျင်းထဲမှာပျောက်ဆုံးနေနံပါတ်များကိုဖြစ်ကြသည်

algorithm

  1. a) ကြေညာပါ အစုံ.
  2. Array ကိုဖြတ်ပြီး element အားလုံးကို set ထဲကိုထည့်ပါ။
  3. “ i” သည်အနိမ့်နှင့်ညီသော်လည်း“ i” သည်အမြင့်နှင့်ညီသည်။
    • အစုတခု "i" မဆံ့လျှင်။
      • 'i' ကိုရိုက်ပါ။

ရှင်းလင်းချက်

ကျွန်ုပ်တို့အားပြaနာဖော်ပြချက်တစ်ခုပေးထားပြီး၎င်းအနေဖြင့်သတ်မှတ်ထားသောအကွာအဝေးအတွင်းရှိပျောက်ဆုံးနေသောအရာအားလုံးကိုအနိမ့်အမြင့်အထိရှာဖွေရန်တောင်းဆိုသည်။ ဒီဟာကိုဖြေရှင်းဖို့အတွက် set ကိုသုံးပြီးတန်ဖိုးတွေကိုပေးထားတဲ့ခင်းကျင်းမှုထဲကိုသိမ်းဆည်းသွားမှာပါ။ ကျွန်ုပ်တို့အားအကွာအဝေးကိုအနိမ့်နှင့်အမြင့်အဖြစ်သတ်မှတ်ထားသည်။ ကျွန်ုပ်တို့သည်အရာဝတ္ထုအားလုံးကိုအနိမ့်နှင့်အမြင့်ဆုံးအတွင်းပုံနှိပ်ရမည်။

ထိုအမိန့်ကိုရရန်ကျွန်ုပ်တို့သည် array element များကို set ထဲတွင်သိမ်းထားပြီးပြီ။ 'i' ကိုနိမ့်ကျသော loop တစ်ခုစတင်ရန်လိုသည်။ 'i' ၏တန်ဖိုးမြင့်မားသည်အထိကျွန်ုပ်တို့သည် loop ကိုအသုံးပြုသည်။ ထို့နောက်အစုတွင် 'i' တန်ဖိုးမပါရှိကိုစစ်ဆေးပြီးနောက် 'i' ကိုရိုက်ပါ။ ထို့ကြောင့်ကျွန်ုပ်တို့သည်သတ်မှတ်ထားသောအကွာအဝေးအတွင်းရှိ array တစ်ခုမှပျောက်ဆုံးနေသော element များအားလုံးရရှိမည်ဖြစ်သည်။ ဥပမာတစ်ခုကိုသုံးသပ်ကြည့်ကြစို့။

arr [] = {2, 3, 7, 8} အနိမ့် = 1, မြင့် = 9

ကျနော်တို့ array ကိုဖြတ်သန်းနှင့်အစုထဲသို့ array တစ်ခု၏ element အားလုံးကိုထည့်ရန်လိုအပ်သည်။ ကျွန်ုပ်တို့၏အစုဖြစ်လာပါလိမ့်မယ်

set = [2,3,7,8]

ကွင်းဆက်တစ်ခုတွင် i ကိုအနိမ့်သို့စတင်ရန်နှင့် loop သည်မြင့်သည်အထိ run သည်ဆိုလိုသည်မှာ 'i' သည်နိမ့်သော = 1 နှင့်အမြင့် = 9 ဖြစ်သည်

i = 1, အကယ်၍ အစုတွင် i မပါရှိပါက 1 ကိုထုတ်နိုင်သည်

[1]

i = 2, set က '2' ရှိပြီးဘာမှမလုပ်ဘူး။

i = 3, set က '3' ရှိပြီးဘာမှမလုပ်ဘူး။

i = 4, အကယ်၍ အစုတွင် i မပါရှိပါက 4 ကိုထုတ်နိုင်သည်

[1, 4]

i = 5, အကယ်၍ အစုတွင် i မပါရှိပါက 5 ကိုထုတ်နိုင်သည်

[1, 4, 5]

i = 6, အကယ်၍ အစုတွင် i မပါရှိပါက 6 ကိုထုတ်နိုင်သည်

[၁၊ ၃၊ ၅၊ ၁]

i = 7, set က '7' ရှိပြီးဘာမှမလုပ်ဘူး။

i = 8, set က '8' ရှိပြီးဘာမှမလုပ်ဘူး။

i = 9, အကယ်၍ အစုတွင် i မပါရှိပါက 1 ကိုထုတ်နိုင်သည်

[၅၊ ၄၊ ၃၊ ၂၊ ၁]

ကျွန်ုပ်တို့၏ရလဒ်သည် [၁၊ ၄၊ ၅၊ ၆၊ ၉] ဖြစ်လာလိမ့်မည်။

ကုဒ်

အကွာအဝေး၏ပျောက်ဆုံးနေသော element များကိုရှာရန် C ++ code

#include <unordered_set>
#include<iostream>

using namespace std;

void getMissingElements(int arr[], int n, int low, int high)
{
    unordered_set<int> myset;
    for (int i = 0; i < n; i++)
        myset.insert(arr[i]);

    for (int x = low; x <= high; x++)
        if (myset.find(x) == myset.end())
            cout << x << " ";
}
int main()
{
    int arr[] = { 2,3,7,8 };
    int low = 1, high = 9;
    int n = sizeof(arr) / sizeof(arr[0]);
    getMissingElements(arr, n, low, high);
    return 0;
}
1 4 5 6 9

အကွာအဝေး၏ပျောက်ဆုံးနေသော element များကိုရှာရန် Java code

import java.util.HashSet;

class RangeMissingElements
{
    public static void getMissingElements(int arr[], int low, int high)
    {
        HashSet<Integer> myset = new HashSet<>();

        for (int i = 0; i < arr.length; i++)
        {
            myset.add(arr[i]);
        }

        for (int i = low; i <= high; i++)
        {
            if (!myset.contains(i))
            {
                System.out.print(i + " ");
            }
        }
    }
    public static void main(String[] args)
    {
        int arr[] = {2,3,7,8};
        int low = 1, high = 9;
        getMissingElements(arr, low, high);
    }
}
1 4 5 6 9

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

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

အို (n + (အမြင့်ဆုံး + ၁)) ဘယ်မှာ “ n” က array ထဲမှာပါတဲ့ element အရေအတွက်။ မြင့်တယ် နှင့် နိမ့်သည် ထောက်ပံ့ပေးသည့် input ကိုဖြစ်ပါတယ်။

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

အို ()) အဆိုးဆုံးအမှု၌, အားလုံးဒြပ်စင်ကွဲပြားလျှင်။ element တွေအားလုံးကိုသိမ်းထားရပါမယ်။ ထို့ကြောင့် algorithm ကိုပြုလုပ်ခြင်းသည် linear အချိန်လိုအပ်သည်။