ومومئ چې ایا یو آر د بل سرې سبسیټ دی


مشکل کچه په اسانۍ سره
په مکرر ډول دننه پوښتل کیږي اکولایټ په روبل روغتيا Qualcomm
پیشه دوه لمبري پلټنه هاش لټون کول ترتیب کول

ستونزه "ومومئ چې ایا سرنی د بل سرنی سبټ سیټ دی" په ګوته کوي چې تاسو ته دوه سرنی تیرونه [a] او [array1 [] ورکړل شوي دي. ورکړل شوي تیرونه په ناڅاپي ډول دي. ستاسو دنده دا ده چې ومومئ چې ایا array2 [] د array2 [] یو فرعی سیټ دی [].

بېلګه

ومومئ چې ایا یو آر د بل سرې سبسیټ دی

arr1= [1,4,5,7,8,2]
arr2= [1,7,2,4]
arr2 [] is a subset of arr1 [].
arr1= [21,4,5,2,18,3]
arr2= [1,4,2,3]
arr2 [] is not a subset of arr1 [].

الګوریتم

  1. یو ځوړند لاپ خلاص کړئ.
  2. زه 0 ته ، j ته 0 ته یې تنظیم کړئ.
  3. په داسې حال کې i د صف د اندازې نه لږ دی [].
    1. په داسې حال کې j د صف د اندازې نه لږ دی [].
      1. که arr2 [i] د آرر [j] سره مساوي وي ، نو مات کړئ.
  4. If j مساوي سره مس ده ، غلط ته راستون شو.
  5. ریښتیا راستنیدل.

تشریح

زموږ دنده دا ده چې ومومئ چې ایا سور دوهم د صف د 1 سبسیټ ده. نو زموږ اصلي نظر دا دی چې د ځړول شوي لوپ کارولو لپاره او د هر عنصر چک کول او د array2 هر عنصر په array1 کې موندل کیږي ، پدې معنی چې array2 د array1 یوه سبسیټ دی.

راځئ چې په array1 او array2 کې زموږ د ان پټ په توګه یو مثال واخلو

بېلګه

arr1 [] = {11 ، 1 ، 13 ، 21 ، 3 ، 7}؛ arr2 [] = {11، 3، 7، 1}؛

د صف د index مادې شاخص سره پیل کول ، موږ به وګورو چې آیا د ارای 0 د 2 انډیکس په صف کې ورته شمیره ومومئ [i] ، او هو دا د 0 په څیر وموندله نو موږ لوپ ماتولو او i ++ کوو.

د array1 2 لمبر شاخص سره پیل کول ، [موږ د پلټنې په لټه کې یو چې آیا د arrays1 2 لړلیک ورته array1 کې ورته شمیره ومومئ [i] ، او هو دا د 3 په څیر وموندله. نو موږ لوپ ماتولو او i ++ کولو لپاره ځو. .

د array2 د دویم شاخص سره پیل کول [] ، موږ به وګورو چې ایا د arrays2 دوهم شاخص په صف کې ورته شمیره ومومئ [i] او دا یې د 2 په څیر وموند. نو موږ لوپ ماتولو او i ++ کوو.

د array1 2 لمبر شاخص سره پیل کول [] ، موږ به دا وګورو چې ایا د arrays1 2 لړلیک ورته صف په array1 کې موندلی [i] او 1 یې موندلی. نو موږ لوپ ماتولو او i ++ کولو لپاره ځو.

او پدې اړه که چیرې هغه حالت چې استازیتوب یې کړی وي لکه (j = = m) پدې معنی دی ، که په تکرار کې که د array2 هیڅ عنصر په صف کې ونه موندل شي [] ، پدې معنی چې دا له ماتېدو پرته راوځي پرته معنی یې j معنی لري 'د یوځای ارزښت سره مسلو سره [د] معنی دا ده چې موږ په array1 کې ورته ورته عنصر ونه موندل [او] موږ غلط راستون شو ځکه چې سبټ د ورکړل شوي سیټ ټول عنصر لري او موږ ونه موندل. یو.

کوډ

C ++ کوډ موندلو لپاره چې ایا یو صف د بل سرې سبسیټ دی

#include <iostream>
using namespace std;

bool isSubset(int arr1[], int arr2[], int l1, int l2)
{
    int i,j;
    for(i=0; i<l2; i++)
    {

        for(j=0; j<l1; j++)
        {
            if(arr2[i]==arr1[j])
                break;
        }
        if(j==l1)
            return false;
    }
    return true;
}
int main()
{
    int arr1[] = {1, 2, 3, 4, 5, 6};
    int arr2[] = {1, 3, 5};

    int l1=sizeof(arr1)/sizeof(arr1[0]);
    int l2=sizeof(arr2)/sizeof(arr2[0]);
    if(isSubset(arr1,arr2,l1,l2))
    {
        cout<<"arr2[] is a subset of arr1[]";
    }
    else
    {
        cout <<"arr2[] is not a subset of arr1[]"<<endl;
    }
    return 0;
}
arr2[] is a subset of arr1[]

د جاوا کوډ موندلو لپاره چې ایا یو صف د بل سرې سبسیټ دی

class isArraySubset
{
    public static boolean isSubset(int arr1[],int arr2[], int l1, int l2)
    {
        int i = 0;
        int j = 0;
        for (i = 0; i < l2; i++)
        {
            for (j = 0; j < l1; j++)
            {
                if(arr2[i] == arr1[j])
                {
                    break;
                }
            }
            if (j == l1)
                return false;
        }
        return true;
    }
    public static void main(String args[])
    {
        int arr1[] = {1, 2, 3, 4, 5, 6};
        int arr2[] = {1, 3, 5};

        int l1 = arr1.length;
        int l2 = arr2.length;

        if(isSubset(arr1, arr2, l1, l2))
        {
            System.out.println("arr2[] is a subset of arr1[]");
        }
        else
        {
            System.out.println("arr2[] is not a subset of arr1[]");
        }
    }
}
arr2[] is a subset of arr1[]

د پیچلتیا تحلیل

د وخت پیچلتیا

او (م * این) هلته "م" د arr1 کچه او ده "n" د arr2 کچه ده. ځکه چې موږ ځليدلي لوپونه کارولي دي ، د وخت پیچلتیا پولیټیکل رامینځته کوي.

د ځای پیچلتیا

O (1) ، ځکه چې موږ کوم اضافي سرنی / ویکتور نه دی کارولی.