బైనరీ శ్రేణిలో తనిఖీ చేయండి సబ్‌రే ద్వారా ప్రాతినిధ్యం వహించే సంఖ్య బేసి లేదా సమానంగా ఉంటుంది


కఠినత స్థాయి సులువు
తరచుగా అడుగుతుంది సిస్కో Fab IBM మైక్రోసాఫ్ట్ PayU Snapchat స్నాప్డీల్ Teradata
అర్రే బిట్స్

“బైనరీ శ్రేణిని తనిఖీ చేయండి సబ్‌రే ద్వారా ప్రాతినిధ్యం వహించే సంఖ్య బేసి లేదా కూడా” మీకు బైనరీ శ్రేణి మరియు పరిధి ఇవ్వబడిందని పేర్కొంది. శ్రేణి 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 సె మరియు 1 లు కలిపి సంఖ్యను ఏర్పరుస్తాయి, వీటిని దశాంశ సంఖ్యగా సులభంగా అర్థం చేసుకోవచ్చు.

ఈ ప్రశ్నలతో మేము అదే చేస్తాము, మాకు ఒక పరిధి ఇవ్వబడుతుంది. మేము బైనరీ సంఖ్యను 0 మరియు 1 గా సూచించగలము కాబట్టి, మనకు బైనరీ సంఖ్య యొక్క చివరి బిట్ 1 గా ఉంటే, ఆ సంఖ్య బేసి అని అర్థం. ఏదైనా సంఖ్య యొక్క మొదటి బిట్ దశాంశ సంఖ్యగా సూచించబడటానికి కారణం 2 రూపంలో ఉంటుంది0. కాబట్టి మొత్తం సంఖ్య ఏమైనా ఉంటుంది కానీ ఏదైనా బైనరీ సంఖ్య యొక్క చివరి బిట్ 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

సంక్లిష్టత విశ్లేషణ

సమయం సంక్లిష్టత

O (q)  (ఇక్కడ  "Q" మేము చేయవలసిన ప్రశ్నల సంఖ్య. ఎందుకంటే ప్రతి ప్రశ్నకు O (1) సమయ సంక్లిష్టతలో సమాధానం ఇవ్వవచ్చు.

అంతరిక్ష సంక్లిష్టత

O (1) అదనపు స్థలం అవసరం లేదు. అందువల్ల బైనరీ శ్రేణిలో చెక్ యొక్క స్థల సంక్లిష్టత ఒక సబ్‌రే ద్వారా సూచించబడే సంఖ్య బేసి లేదా సమస్య స్థిరంగా ఉంటుంది.