געפֿינען פעלנדיק עלעמענטן פון אַ קייט  


שוועריקייט לעוועל גרינג
אָפט געבעטן אין דעליווערי גריי אָראַנדזש לינקעדין Nagarro אָפּערע סינאָפּסיס
האַש Larsen & Toubro סאָרטינג

די פּראָבלעם געפֿינען פעלנדיק עלעמענטן פון אַ קייט "שטאַטן אַז איר באַקומען אַן מענגע פון פאַרשידענע עלעמענטן אין אַ באַזונדער קייט און אַ קייט געגעבן ווי נידעריק און הויך. געפֿינען אַלע די פעלנדיק עלעמענטן אין אַ קייט וואָס איז ניט פאָרשטעלן אין אַ מענגע. דער רעזולטאַט זאָל זיין אין סדר סדר.

בייַשפּיל  

געפֿינען פעלנדיק עלעמענטן פון אַ קייטשפּילקע

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.

אַלגאָריטהם  

  1. דערקלערן א שטעלן.
  2. אַריבער די מענגע און שטעלן אַלע די עלעמענטן אין דעם גאַנג.
  3. בשעת "איך" איז גלייַך צו נידעריק און "איך" איז ווייניקער ווי גלייַך צו הויך.
    • אויב אַ סכום כּולל נישט "איך".
      • דרוק 'איך'.

דערקלערונג

מיר געבן אַ פּראָבלעם ויסזאָגונג אַז איר געפֿינען אַלע פעלנדיק עלעמענטן אין אַ מענגע אין אַ געגעבן קייט ווי נידעריק און הויך. צו סאָלווע דעם, מיר וועלן נוצן אַ סכום און גיין צו קראָם די וואַלועס אין די סכום פון די געגעבן מענגע. מיר האָבן אַ קייט ווי נידעריק און הויך, מיר מוזן דרוקן אַלע עלעמענטן אין אַ נידעריק און אַ הויך ינקלוסיוולי.

זע אויך
Golomb סיקוואַנס

צו באַקומען דעם סדר, מיר שוין קראָם די מענגע עלעמענטן אין דעם גאַנג. מיר דאַרפֿן צו לויפן אַ שלייף ינישיייטינג 'איך' ווי נידעריק. מיר לויפן די שלייף ביז די ווערט פון 'איך' ווערט הויך. קאָנטראָלירן אויב די סכום כּולל נישט די ווערט 'איך' און דרוקן 'איך'. דעריבער, מיר וועלן באַקומען אַלע די עלעמענטן וואָס זענען פעלנדיק אין אַ מענגע אין אַ געגעבן קייט. זאל אונדז באַטראַכטן אַ בייַשפּיל.

אַרר [] = {2, 3, 7, 8} נידעריק = 1, הויך = 9

מיר דאַרפֿן צו פאָרן די מענגע און שטעלן אַלע די יסודות פון אַ מענגע. אונדזער גאַנג וועט ווערן

סכום = [2,3,7,8]

אין אַ שלייף יניטיאַלייז איך צו נידעריק און שלייף לויפט ביז הויך, עס מיטל 'איך' איז גלייַך צו נידעריק = 1 און הויך = 9

איך = 1, אויב די שטעלן טוט נישט אַנטהאַלטן i, פּרינץ 1

[1]

איך = 2, שטעלן האט אַ ווערט '2' און טוט גאָרנישט.

איך = 3, שטעלן האט אַ ווערט '3' און טוט גאָרנישט.

איך = 4, אויב די שטעלן טוט נישט אַנטהאַלטן i, פּרינץ 4

[קסנומקס, קסנומקס]

איך = 5, אויב די שטעלן טוט נישט אַנטהאַלטן i, פּרינץ 5

[1, 4, 5]

איך = 6, אויב די שטעלן טוט נישט אַנטהאַלטן i, פּרינץ 6

[1, 4, 5, 6]

איך = 7, שטעלן האט אַ ווערט '7' און טוט גאָרנישט.

איך = 8, שטעלן האט אַ ווערט '8' און טוט גאָרנישט.

איך = 9, אויב די שטעלן טוט נישט אַנטהאַלטן i, פּרינץ 1

[1, 4, 5, 6, 9]

אונדזער פּראָדוקציע וועט ווערן: [1, 4, 5, 6, 9]

קאָדעקס  

C ++ קאָד צו געפֿינען פעלנדיק עלעמענטן פון אַ קייט

#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

Java קאָד צו געפֿינען פעלנדיק עלעמענטן פון אַ קייט

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 + (הויך-נידעריק + 1)) ווו “N” איז די נומער פון עלעמענטן וואָס זענען פאָרשטעלן אין די מענגע, "הויך" און "נידעריק" איז די ינפּוט צוגעשטעלט.

זע אויך
לענג פון דעם גרעסטן סובאַררייַ מיט קאַנטיגיואַס עלעמענטן

ספעיס קאַמפּלעקסיטי

אָ (n), אין ערגסט פאַל, אויב אַלע עלעמענטן זענען אַנדערש. מיר מוזן האַלטן אַלע די עלעמענטן. אַזוי די אַלגערידאַם ריקווייערז לינעאַר צייט.