બાઈનરી એરેમાં તપાસો કે સબઅરે દ્વારા રજૂ કરાયેલ સંખ્યા વિચિત્ર છે અથવા તે પણ છે  


મુશ્કેલી સ્તર સરળ
વારંવાર પૂછવામાં આવે છે સિસ્કો ફેબ IBM માઈક્રોસોફ્ટ પે Snapchat સ્નેપડીલ તેરાદાતા
અરે બિટ્સ

સમસ્યા "બાઈનરી એરેમાં તપાસ કરો કે સબઅરે દ્વારા રજૂ કરેલી સંખ્યા વિચિત્ર છે અથવા તે પણ છે" કહે છે કે તમને બાઈનરી એરે અને શ્રેણી આપવામાં આવે છે. એરેમાં 0 અને 1 સેના સ્વરૂપમાં સંખ્યા શામેલ છે. સમસ્યાનું નિવેદન શ્રેણીમાં સબએરેમાં રજૂ કરેલી સંખ્યા શોધવા માટે પૂછે છે [ડાબી, જમણી] સમાન અથવા વિચિત્ર.

ઉદાહરણ  

arr[] = {1,1,1,0,1}
Left, right = 1, 4
Left, right = 0, 3
odd even

સમજૂતી

ડાબે, જમણે = 1,4, તેથી સંખ્યા 1101 હશે જે દશાંશમાં 13 હશે તેથી તે વિચિત્ર છે.

ડાબે, જમણે = 0,3 જે 1110 ની સંખ્યાને રજૂ કરે છે જે દશાંશમાં 14 હશે જે બરાબર છે.

બાઈનરી એરેમાં તપાસો કે સબઅરે દ્વારા રજૂ કરાયેલ સંખ્યા વિચિત્ર છે અથવા તે પણ છેપિન

 

અલ્ગોરિધમ  

  1. એરેનું જમણી અનુક્રમણિકા 1 અથવા 0 છે કે કેમ તે તપાસો.
  2. જો તે 1 છે, તો તે વિચિત્ર છે, વિચિત્ર છાપો.
  3. જો તે 0 છે, તો તે બરાબર છે, પણ છાપો.

સમજૂતી  

બાઈનરી એરેમાં તપાસ કરવા માટે, સબઅરે દ્વારા રજૂ કરાયેલ સંખ્યા વિચિત્ર છે અથવા તે પણ, અમને બાઈનરી આપવામાં આવે છે એરે. તેથી દ્વિસંગી એરેથી, અમારું અર્થ એ થાય છે કે એરેમાં સંખ્યા ફક્ત 0 અને 1 સેના સ્વરૂપમાં હશે. અમને એક શ્રેણી આપવામાં આવે છે જેમાં ડાબી બાજુએ પ્રારંભિક બિંદુ અને જમણી બાજુની અંતિમ શ્રેણી હોય છે. આ શ્રેણીની વચ્ચે, અમને 0 અને 1 સેનોનો સબઅરે મળશે. આ 0 અને 1s એક નંબર બનાવે છે જેનો દશાંશ સંખ્યા તરીકે સરળતાથી અર્થઘટન કરી શકાય છે.

આ પણ જુઓ
શબ્દમાળાને ગ્રેટ લીટકોડ સોલ્યુશન બનાવો

આ જ બાબતો અમે આ પ્રશ્નો સાથે કરીશું, અમને શ્રેણી આપવામાં આવી છે. આપણે દ્વિસંગી સંખ્યાને 0 અને 1 તરીકે રજૂ કરી શકીએ છીએ, જો આપણી પાસે દ્વિસંગી સંખ્યાનો છેલ્લો બીટ 1 તરીકે હોય, તો તેનો અર્થ એ કે સંખ્યા વિચિત્ર છે. કોઈપણ સંખ્યાના પ્રથમ બીટને દશાંશ સંખ્યા તરીકે રજૂ કરવામાં આવશે તે કારણ 2 ના સ્વરૂપમાં છે. તો આખી સંખ્યા ગમે તે હશે પણ જો કોઇ દ્વિસંગી સંખ્યાનો છેલ્લો બીટ 1 હશે તો તે વિચિત્ર હશે, અને જો દ્વિસંગી સંખ્યાનો છેલ્લો બીટ 0 હશે તો 2 ની ગુણાકાર0 0 સાથે, 0 માં પરિણામ આવે છે, તેથી તેમાં કશું બદલાતું નથી.

તેથી, બાઈનરી એરેમાં ચેકને હલ કરવા માટે, સબઅરે દ્વારા રજૂ કરાયેલ સંખ્યા વિચિત્ર છે અથવા બહુવિધ પ્રશ્નો માટે પણ, આપણે બાઈનરી નંબરનો છેલ્લો બીટ ચકાસીશું, પરંતુ આપણે શ્રેણીમાં બનાવેલા પેટા-એરેમાં તપાસ કરવી પડશે. , તેથી આપણે એરે [જમણે] મૂલ્ય ચકાસીશું જો તે 1 ની બરાબર છે, તો પછી આખી સંખ્યા વિચિત્ર હશે, અન્યથા સંખ્યા સમાન હશે.

કોડ  

સી ++ સબઅરે દ્વારા રજૂ કરેલી સંખ્યાને શોધવા માટે વિચિત્ર અથવા તે પણ છે

#include<iostream>

using namespace std;

void IsEvenOrOdd (int arr[], int n, int left, int right)
{
    if (arr[right] == 1)
        cout << "odd" << endl;
    else
        cout << "even" << endl;
}
int main()
{
    int arr[] = {1,1,1,0,1};
    int n = sizeof(arr)/sizeof(arr[0]);
    IsEvenOrOdd (arr, n, 1, 4);
    IsEvenOrOdd (arr, n, 0, 3);
    return 0;
}
odd
even

સબઅરે દ્વારા રજૂ કરેલા નંબરને ચકાસવા માટે જાવા કોડ વિચિત્ર અથવા તે પણ છે

class BinaryOddEven
{
    static void IsEvenOrOdd (int arr[], int n, int left, int right)
    {
        if (arr[right] == 1)
            System.out.println( "odd") ;
        else
            System.out.println ( "even") ;
    }
    public static void main (String[] args)
    {
        int arr[] = {1,1,1,0,1};
        int n = arr.length;
        IsEvenOrOdd (arr, n, 1, 4);
        IsEvenOrOdd (arr, n, 0, 3);

    }
}
odd
even

જટિલતા વિશ્લેષણ  

સમય જટિલતા

ઓ (ક્યૂ) જ્યાં "ક્યૂ" આપણે કરવાના પ્રશ્નોની સંખ્યા છે. કારણ કે દરેક ક્વેરીનો જવાબ ઓ (1) સમયની જટિલતામાં આપી શકાય છે.

આ પણ જુઓ
ડુપ્લિકેટ એલિમેન્ટ શોધો

અવકાશ જટિલતા

ઓ (1) કોઈ વધારાની જગ્યા જરૂરી નથી. આમ બાઈનરી એરેમાં ચેક ઇન સ્પેસ જટિલતા, સબઅરે દ્વારા રજૂ કરાયેલ સંખ્યા વિચિત્ર છે અથવા તો સમસ્યા સતત છે.