በሁለትዮሽ ድርድር ውስጥ በንዑስ ንዑስ ቡድን የተወከለው ቁጥር ያልተለመደ ወይም አልፎ ተርፎም ያረጋግጡ  


የችግር ደረጃ ቀላል
ውስጥ በተደጋጋሚ ተጠየቀ Cisco Fab IBM የ Microsoft PayU Snapchat Snapdeal ተራዳታ
ሰልፍ ቢት

ችግሩ “በሁለትዮሽ ድርድር ውስጥ በአንድ ንዑስ ቡድን የተወከለው ቁጥር ጎዶሎ ነው ወይም እንዲያውም” ችግሩ የሁለትዮሽ ድርድር እና ክልል እንደተሰጠዎት ይናገራል። ድርድሩ ቁጥሩን በ 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 ቅርፅ ነው. ስለዚህ አጠቃላይ ቁጥሩ ምንም ይሁን ምን ግን የሁለትዮሽ ቁጥር የመጨረሻው ቢት 1. ጎዶሎ ይሆናል ፣ እና የሁለትዮሽ ቁጥር የመጨረሻው ትንሽ 0 ከሆነ ፣ የ 2 ማባዛት0 ከ 0 ጋር ፣ ውጤቶች በ 0 ውስጥ ይገኛሉ ፣ ስለሆነም እዚያ ውስጥ ምንም አይቀየርም።

ስለዚህ በሁለትዮሽ ድርድር ውስጥ ያለውን ቼክ ለመፍታት በአንድ ንዑስ ቡድን የተወከለው ቁጥር ያልተለመደ ወይም ለብዙ ጥያቄዎች እንኳን ቢሆን የመጨረሻውን የሁለትዮሽ ቁጥሩን እንፈትሻለን ፣ ነገር ግን በክልሉ ውስጥ በተፈጠረው ንዑስ ክፍል ውስጥ መፈተሽ አለብን ፣ ስለሆነም ከ 1 ጋር እኩል ከሆነ የድርጅት [የቀኝ] ዋጋን እንፈትሻለን ፣ ከዚያ አጠቃላይ ቁጥሩ ያልተለመደ ይሆናል ፣ አለበለዚያ ቁጥሩ እኩል ይሆናል።

ኮድ  

በ ‹ንዑስ ሰርጓጅ› የተወከለውን ቁጥር ለመፈተሽ C ++ ያልተለመደ ወይም እንዲያውም ነው

#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

ውስብስብነት ትንተና  

የጊዜ ውስብስብነት

ኦ (ጥ) የት "Q" እኛ ማከናወን ያለብን የጥያቄዎች ብዛት ነው ፡፡ ምክንያቱም እያንዳንዱ ጥያቄ በ (1) የጊዜ ውስብስብነት ሊመለስ ይችላል።

ተመልከት
የተባዛውን ንጥረ ነገር ያግኙ

የቦታ ውስብስብነት

ኦ (1) ተጨማሪ ቦታ ስለማያስፈልግ ፡፡ ስለዚህ በሁለትዮሽ ድርድር ውስጥ ያለው የቼክ የቦታ ውስብስብነት በአንድ ንዑስ ቡድን የተወከለው ቁጥር ጎዶሎ ነው ወይም ሌላው ቀርቶ ችግሩ ቋሚ ነው ፡፡