कोडिंग साक्षात्कार की तैयारी · पाठ

बिट गिनना, लुप्त संख्या और बिट उलटना

DP और lowest-set-bit युक्ति से 0..n के बिट-गणना मान निकालिए, XOR से लुप्त संख्या खोजिए और 32-बिट पूर्णांक के बिट उलटिए।

पाठ 4, कुल 4 में से13 चरण

बिट गिनना, लुप्त संख्या और बिट उलटना, CoddyKit पर कोडिंग साक्षात्कार की तैयारी का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह कोडिंग साक्षात्कार की तैयारी सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। कोडिंग साक्षात्कार की तैयारी पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

बिटों की गिनती वाली समस्या का अवलोकन

बिटों की गिनती वाली समस्या (LeetCode 338) में पूछा जाता है: n दिए जाने पर n+1 आकार की एक सरणी लौटाइए, जिसमें ans[i], i में मौजूद 1-बिटों की संख्या हो। सरल तरीका O(n log n) का है — प्रत्येक संख्या के बिट अलग-अलग गिनना। i और उसके आधे या सबसे निचले सेट बिट के बीच के संबंध का उपयोग करके DP वाला तरीका O(n) समय में काम करता है।

DP के पीछे दो प्रमुख अवलोकन हैं: (1) i >> 1 सबसे निचले बिट को हटा देता है, इसलिए bits[i] = bits[i >> 1] + (i & 1)। (2) सबसे निचले सेट बिट को साफ़ करने पर: bits[i] = bits[i & (i-1)] + 1। दोनों तरीकों में O(n) समय और O(n) स्थान लगता है (परिणाम वाली सरणी के लिए)।

def count_bits_v1(n):
    # O(n log n): naive individual count
    return [bin(i).count('1') for i in range(n + 1)]

def count_bits_dp(n):
    # O(n): DP using right shift
    dp = [0] * (n + 1)
    for i in range(1, n + 1):
        dp[i] = dp[i >> 1] + (i & 1)   # i >> 1 drops last bit
    return dp

def count_bits_dp2(n):
    # O(n): DP using lowest-set-bit trick
    dp = [0] * (n + 1)
    for i in range(1, n + 1):
        dp[i] = dp[i & (i - 1)] + 1   # i & (i-1) clears lowest set bit
    return dp

n = 10
print('Naive:', count_bits_v1(n))
print('DP v1:', count_bits_dp(n))
print('DP v2:', count_bits_dp2(n))

DP के पुनरावर्ती सूत्र क्यों काम करते हैं

दाईं ओर शिफ्ट वाले पुनरावर्ती सूत्र dp[i] = dp[i >> 1] + (i & 1) के लिए: 2 से भाग देने पर (दाईं ओर शिफ्ट करने पर) अंतिम बिट हट जाता है। यदि अंतिम बिट 1 था, तो गिनती 1 बढ़ जाती है; यदि 0 था, तो कोई बदलाव नहीं होता। इसलिए bits[i] = bits[i // 2] + (i mod 2)।

सबसे निचले सेट बिट वाले पुनरावर्ती सूत्र dp[i] = dp[i & (i-1)] + 1 के लिए: i & (i-1) दाईं ओर के 1 बिट को साफ़ करता है, इसलिए इसमें i की तुलना में एक सेट बिट कम होता है। अतः गिनती उस घटे हुए मान की गिनती में 1 जोड़ने के बराबर होती है। दोनों पुनरावर्ती सूत्र i को बढ़ते क्रम में संसाधित करते हैं, इसलिए छोटी उपसमस्याएँ हमेशा पहले हल हो जाती हैं।

# Trace both recurrences for i = 0..8
print('i | i>>1 | i&1 | dp[i>>1]+(i&1) | i&(i-1) | 1+dp[i&(i-1)]')
print('-' * 60)
dp = [0] * 9
for i in range(1, 9):
    # Right shift method
    v1 = dp[i >> 1] + (i & 1)
    # Lowest set bit method
    v2 = dp[i & (i - 1)] + 1
    dp[i] = v1   # either works
    print(f'{i:2d} ({bin(i)[2:]:4s}) | {i>>1:2d} | {i&1} | {v1}               | {i&(i-1):2d}      | {v2}')
print('\nFinal dp:', dp)

गायब संख्या: XOR और योग वाले तरीके

गायब संख्या वाली समस्या (LeetCode 268) में [0, n] के बीच की n अलग-अलग संख्याओं वाली एक सरणी दी जाती है, जिसमें ठीक एक संख्या गायब होती है। XOR तरीका: 0..n तक के सभी सूचकांकों और सरणी के सभी मानों पर XOR करें। युग्म एक-दूसरे को रद्द कर देते हैं और गायब संख्या बच जाती है। योग वाला तरीका: expected = n*(n+1)//2, फिर expected - sum(nums) लौटाएँ।

दोनों में O(n) समय और O(1) स्थान लगता है। निश्चित-चौड़ाई वाले पूर्णांकों वाली भाषाओं में XOR तरीका अधिक विश्वसनीय है, क्योंकि इससे संभावित ओवरफ़्लो से बचा जाता है। पाइथन में पूर्णांकों की परिशुद्धता मनमानी होने के कारण दोनों तरीके अच्छी तरह काम करते हैं।

def missing_xor(nums):
    n = len(nums)
    result = n
    for i, val in enumerate(nums):
        result ^= i ^ val   # each index i cancels its matching value
    return result

def missing_sum(nums):
    n = len(nums)
    return n * (n + 1) // 2 - sum(nums)

test_cases = [
    [3, 0, 1],           # missing 2
    [0, 1],              # missing 2
    [9,6,4,2,3,5,7,0,1], # missing 8
    [0],                 # missing 1
]
for nums in test_cases:
    print(f'{nums} => XOR={missing_xor(nums)}, Sum={missing_sum(nums)}')

32-बिट पूर्णांक के बिटों को उलटना

बिट उलटने वाली समस्या (LeetCode 190) में 32-बिट अहस्ताक्षरित पूर्णांक के द्विआधारी निरूपण का क्रम उलटना होता है। पुनरावृत्त विधि में इनपुट के 32 बिटों को दाएँ से बाएँ संसाधित करके आउटपुट में बाएँ से दाएँ रखा जाता है। प्रत्येक चरण में n & 1 से सबसे दाईं ओर का बिट निकालें, स्थान बनाने के लिए आउटपुट को बाईं ओर शिफ्ट करें, उस बिट को OR से जोड़ें, फिर n को दाईं ओर शिफ्ट करें।

32 चरणों के बाद आउटपुट पूर्णांक में n के सभी 32 बिट उलटे क्रम में होते हैं। इसमें O(32) = O(1) समय प्रति कॉल लगता है, या 8-बिट खंडों पर बार-बार की जाने वाली कॉल के लिए कैशिंग के साथ परिशोधित O(1) समय लगता है।

def reverse_bits(n):
    result = 0
    for _ in range(32):
        result = (result << 1) | (n & 1)  # shift result left, OR in rightmost bit
        n >>= 1                            # move to next bit
    return result

# Test with known values
print(reverse_bits(0b00000010100101000001111010011100))  # 964176192
print(reverse_bits(0b11111111111111111111111111111101))  # 3221225471
print(reverse_bits(0))   # 0
print(reverse_bits(1))   # 2147483648 (bit 0 goes to bit 31)
print(reverse_bits(0b10000000000000000000000000000000))  # 1

बिट उलटना: विभाजित-करो-और-विजय विधि

एक तेज़ O(log 32) = O(1) तरीका विभाजित-करो-और-विजय अदला-बदली का उपयोग करके बिटों का क्रम उलटता है। पहले आसन्न बिटों की अदला-बदली करें, फिर आसन्न 2-बिट समूहों की, फिर 4-बिट समूहों की, और इसी तरह आगे बढ़ें। अदला-बदली के प्रत्येक स्तर पर मास्क का उपयोग करके बारी-बारी से आने वाले समूहों को अलग किया जाता है और शिफ्ट करके उन्हें एक-दूसरे में पिरोया जाता है। 5 अदला-बदली के बाद सभी 32 बिट उलट जाते हैं।

यह तरीका इनपुट से स्वतंत्र O(1) निश्चित क्रियाओं का उपयोग करता है और हार्डवेयर कार्यान्वयन में इस्तेमाल होता है। मास्क नियतांक हैं: 0x55555555 (बारी-बारी से 01 प्रतिरूप), 0x33333333 (बारी-बारी से 0011), 0x0f0f0f0f (बारी-बारी से 00001111), आदि।

def reverse_bits_dc(n):
    # Treat n as 32-bit unsigned
    n &= 0xFFFFFFFF
    # Swap adjacent bits
    n = ((n & 0x55555555) << 1)  | ((n >> 1)  & 0x55555555)
    # Swap adjacent 2-bit groups
    n = ((n & 0x33333333) << 2)  | ((n >> 2)  & 0x33333333)
    # Swap adjacent 4-bit groups
    n = ((n & 0x0f0f0f0f) << 4)  | ((n >> 4)  & 0x0f0f0f0f)
    # Swap adjacent bytes
    n = ((n & 0x00ff00ff) << 8)  | ((n >> 8)  & 0x00ff00ff)
    # Swap adjacent 16-bit halves
    n = ((n & 0x0000ffff) << 16) | ((n >> 16) & 0x0000ffff)
    return n & 0xFFFFFFFF

# Verify against iterative version
def reverse_bits_iter(n):
    result = 0
    for _ in range(32):
        result = (result << 1) | (n & 1); n >>= 1
    return result

for test in [0b10110100, 0b11111111, 0, 1, 0xDEADBEEF]:
    assert reverse_bits_dc(test) == reverse_bits_iter(test)
    print(f'{test:#010x} reversed: {reverse_bits_dc(test):#010x}')

1 बिटों की संख्या (हैमिंग भार)

1 बिटों की संख्या वाली समस्या (LeetCode 191) में किसी अहस्ताक्षरित पूर्णांक का हैमिंग भार (1-बिटों की संख्या) निकालना होता है। अलग-अलग लाभ-हानि वाले तीन तरीके हैं: सरल लूप (O(32)), ब्रायन कर्निघन विधि (O(k), जहाँ k = सेट बिटों की संख्या), और पाइथन का अंतर्निर्मित n.bit_count() (3.10+)।

साक्षात्कारों में ब्रायन कर्निघन विधि को प्राथमिकता दी जाती है, क्योंकि इससे n & (n-1) वाली तरकीब की समझ प्रदर्शित होती है। प्रत्येक चरण में सबसे निचला सेट बिट हट जाता है, इसलिए लूप उतनी ही बार चलता है जितने 1-बिट होते हैं — विरल पूर्णांकों के लिए पूर्ण 32-बिट स्कैन की तुलना में यह बहुत तेज़ है।

def hamming_weight_naive(n):
    count = 0
    while n:
        count += n & 1
        n >>= 1
    return count

def hamming_weight_kernighan(n):
    count = 0
    while n:
        n &= n - 1   # clear lowest set bit
        count += 1
    return count

# Python 3.10+
# def hamming_weight_builtin(n): return n.bit_count()

for n in [0, 1, 11, 128, 255, 0xDEADBEEF]:
    naive = hamming_weight_naive(n)
    kern  = hamming_weight_kernighan(n)
    bits  = bin(n).count('1')
    print(f'{n:#012b} ({n:10d}): naive={naive}, kern={kern}, bin={bits}')

लगातार बिटों का योग: प्रिफ़िक्स तरीका

कभी-कभी आपको [l, r] परास में 1-बिटों की संख्या तेज़ी से गिननी होती है। 0..n के लिए सेट बिटों का प्रिफ़िक्स योग बनाएँ: prefix[i] = prefix[i-1] + bin(i).count('1')। तब [l, r] परास की गिनती prefix[r] - prefix[l-1] होगी। इससे O(n) पूर्व-संसाधन के बाद O(1) परास प्रश्न संभव हो जाते हैं।

यह किसी भी परास पर बिट-आधारित समुच्चय-फलन के लिए सामान्यीकृत किया जा सकता है। उदाहरण के लिए, [l, r] में सम संख्या में सेट बिट वाली संख्याएँ गिनने के लिए यही प्रिफ़िक्स तकनीक उपयोग की जाती है, लेकिन संचयी फलन अलग होता है।

def build_bit_prefix(n):
    prefix = [0] * (n + 2)
    for i in range(1, n + 1):
        prefix[i] = prefix[i - 1] + bin(i).count('1')
    return prefix

def count_bits_range(prefix, l, r):
    return prefix[r] - prefix[l - 1]

# Build prefix for 0..15
prefix = build_bit_prefix(15)
print('Prefix sums (set bit counts up to i):')
for i in range(16):
    print(f'  i={i:2d} ({bin(i)[2:]:4s}): bits={bin(i).count("1")}, prefix={prefix[i]}')

# Range queries
print(f'\nSet bits in [5, 10]: {count_bits_range(prefix, 5, 10)}')
print(f'Set bits in [1, 15]: {count_bits_range(prefix, 1, 15)}')

ऋणात्मक संख्याओं के लिए बिट उलटना

पाइथन में पूर्णांक साइनयुक्त और मनमानी चौड़ाई वाले होते हैं। LeetCode समस्या के लिए बिट उलटते समय हमें इनपुट को 32-बिट अहस्ताक्षरित पूर्णांक मानना चाहिए। संसाधित करने से पहले इनपुट पर & 0xFFFFFFFF लगाएँ, ताकि केवल 32 बिटों पर विचार किया जाए। आउटपुट भी एक अहस्ताक्षरित 32-बिट पूर्णांक (गैर-ऋणात्मक) होना चाहिए।

यदि आपको ऐसा पाइथन पूर्णांक दिया गया है जो ऋणात्मक हो सकता है (टू-कॉम्प्लिमेंट अर्थ में), तो पहले & 0xFFFFFFFF लगाकर उसका अहस्ताक्षरित 32-बिट निरूपण प्राप्त करें, फिर उसे उलटें। परिणाम हमेशा 0 और 2^32 - 1 के बीच का गैर-ऋणात्मक पूर्णांक होता है।

def reverse_bits_signed_safe(n):
    n &= 0xFFFFFFFF   # treat as 32-bit unsigned
    result = 0
    for _ in range(32):
        result = (result << 1) | (n & 1)
        n >>= 1
    return result & 0xFFFFFFFF

# Python treats -1 as all 1s in two's complement
print(f'-1 as 32-bit unsigned: {-1 & 0xFFFFFFFF:#010x}')  # 0xffffffff
print(f'Reversed: {reverse_bits_signed_safe(-1):#010x}')   # 0xffffffff (all 1s reversed = all 1s)

# -2 in 32-bit = 0xFFFFFFFE = 11...10
print(f'-2 as 32-bit unsigned: {-2 & 0xFFFFFFFF:#010x}')  # 0xfffffffe
print(f'Reversed: {reverse_bits_signed_safe(-2):#010x}')   # 0x7fffffff

बिट हेरफेर DP: बिट-गिनती के प्रतिरूप

बिटों की गिनती वाली समस्या बिट DP का एक सामान्य प्रतिरूप दिखाती है: यदि आपको i के किसी छोटे रूप का उत्तर ज्ञात है, तो एक नियत-समय वाली बिट क्रिया का उपयोग करके i का उत्तर निकाला जा सकता है। यह प्रतिरूप बिटों की गिनती वाली अन्य समस्याओं पर भी लागू होता है, जैसे [0, n] में ठीक k सेट बिटों वाली संख्याएँ गिनना (द्विआधारी गणना का उपयोग करके) या प्रत्येक संख्या को विभाजित करने वाली 2 की उच्चतम घात निकालना।

एक और उपयोगी अवलोकन यह है: i के लिए सेट बिटों की संख्या 2 की प्रत्येक घात वाले अंतराल में दोहराए जाने वाले प्रतिरूप का पालन करती है। [2^k, 2^(k+1) - 1] का प्रतिरूप [0, 2^k - 1] के प्रतिरूप जैसा ही होता है, जिसमें प्रत्येक मान में 1 जोड़ दिया जाता है, क्योंकि इस परास में बिट k हमेशा सेट होता है।

# Visualise the repeating pattern
def show_bit_pattern(n):
    bits = [bin(i).count('1') for i in range(n + 1)]
    print('i  | bits | pattern')
    for i, b in enumerate(bits):
        block = i.bit_length() - 1 if i > 0 else 0
        print(f'{i:2d} ({bin(i)[2:]:4s}) | {b} | block {block}')
    return bits

bits = show_bit_pattern(15)
# Verify the pattern: bits[i] = bits[i - highest_power] + 1 for i >= 2^k
print('\nVerify pattern:')
for i in range(1, 16):
    highest_pow = 1 << (i.bit_length() - 1)
    if highest_pow < i:
        prev_i = i - highest_pow
        print(f'bits[{i}] = bits[{prev_i}] + 1 = {bits[prev_i]} + 1 = {bits[i]}')

तीनों को मिलाकर: एक समेकित अभ्यास

कई साक्षात्कार प्रश्न एक ही प्रश्न में बिटों की गिनती, गायब संख्या का तर्क और बिटों का क्रम उलटना जोड़ देते हैं। उदाहरण के लिए: ऐसी सरणी दी गई है जिसके तत्व n-बिट पूर्णांक हैं और एक तत्व गायब है; गायब मान खोजिए। या: बिट-गिनतियों की एक धारा दी गई है; गायब पूर्णांक का पुनर्निर्माण कीजिए। इनके लिए यह पहचानना आवश्यक है कि कौन-सी उप-तकनीक लागू होती है।

एक मानसिक मानचित्र बनाने का अभ्यास करें: यदि किसी समस्या में गायब तत्व खोजने की बात हो, तो XOR या योग के बारे में सोचें। यदि उसमें ‘1 की गिनती कुशलता से करें’ कहा गया हो, तो कर्निघन या DP के बारे में सोचें। यदि उसमें ‘बिट उलटें’ कहा गया हो, तो पुनरावृत्त या विभाजित-करो-और-विजय विधि के बारे में सोचें। साक्षात्कारों में बिट हेरफेर के ये तीन मूल उपकरण हैं।

# Integrated exercise: given bit-count array, find the missing number
# arr[i] = number of 1 bits in i, for all i in 0..n except one
# Reconstruct the missing number

def find_missing_from_bit_counts(bit_counts, n):
    # Rebuild full count array
    full = [bin(i).count('1') for i in range(n + 1)]
    # Find which index is missing by comparing
    for i, count in enumerate(bit_counts):
        if full[i] != count:
            return i - 1  # the entry before the mismatch is missing
    return n  # last element missing

# Simpler: use XOR on indices matching bit counts
# (This is simplified for illustration)
bits = [0,1,1,2,1,2,2,3,0,1]  # bit counts for 0..9 with 8 missing
# Normal: [0,1,1,2,1,2,2,3,1,2]
# Missing is index 8
full = [bin(i).count('1') for i in range(10)]
missing_idx = None
for i in range(10):
    if i >= len(bits) or bits[i] != full[i]:
        missing_idx = i
        break
print(f'Missing number: {missing_idx}')

बिट उलटने के लिए कैशिंग

बिट उलटने की बार-बार होने वाली कॉल के लिए, जैसे हार्डवेयर अनुकरण में, 8-बिट खंडों के परिणामों को कैश करें। चूँकि प्रत्येक बाइट केवल 256 मान ले सकता है, इसलिए 0-255 के प्रत्येक मान के लिए उलटे हुए बाइट की पहले से गणना करें। 32-बिट पूर्णांक को उलटने के लिए उसे चार 8-बिट खंडों में बाँटें, प्रत्येक को उलटें और उलटे क्रम में फिर से जोड़ें।

इससे प्रत्येक कॉल चार तालिका-खोजों और बिट क्रियाओं तक सीमित हो जाती है — बड़े पैमाने पर संसाधन के लिए 32-चरणीय लूप की तुलना में यह बहुत तेज़ है। कैश एक बार O(256 × 8) समय में बनाया जाता है और बाद की सभी कॉल में O(1) समय में पुनः उपयोग किया जाता है।

# Build 8-bit reverse cache
def build_reverse_byte_cache():
    cache = [0] * 256
    for i in range(256):
        n, result = i, 0
        for _ in range(8):
            result = (result << 1) | (n & 1)
            n >>= 1
        cache[i] = result
    return cache

cache = build_reverse_byte_cache()

def reverse_bits_cached(n):
    return (cache[n & 0xFF] << 24 |
            cache[(n >> 8) & 0xFF] << 16 |
            cache[(n >> 16) & 0xFF] << 8 |
            cache[(n >> 24) & 0xFF])

# Test
for test in [0b10110100, 0b11111111, 0x12345678]:
    cached  = reverse_bits_cached(test)
    # Reference: iterative
    n, result = test, 0
    for _ in range(32): result = (result << 1) | (n & 1); n >>= 1
    assert cached == result
    print(f'{test:#010x} => {cached:#010x}')

त्वरित जाँच

इस पाठ में सिखाई गई डेटा संरचनाएँ और एल्गोरिदम — कोडिंग साक्षात्कार की तैयारी — की अवधारणाओं की अपनी समझ जाँचिए।

पाठ का पुनरावलोकन

इस पाठ में आपने सीखा: बिटों की गिनती के लिए DP में dp[i] = dp[i >> 1] + (i & 1) या dp[i] = dp[i & (i-1)] + 1 का उपयोग करके O(n) समय प्राप्त किया जाता है, सभी सूचकांकों पर सभी मानों के साथ XOR करके या अंकगणितीय योग सूत्र का उपयोग करके गायब संख्या को O(n)/O(1) में हल किया जाता है, और 32 बिटों का क्रम O(32) की पुनरावृत्त विधि से या विभाजित-करो-और-विजय मास्क तकनीक से उलटा जाता है। आगे हम एकरूपी स्टैक का अध्ययन करेंगे, जिसकी शुरुआत बढ़ते और घटते अपरिवर्तनीयता तथा अगले-बड़े-तत्व के प्रश्नों से होगी।

शुरुआत निःशुल्क

एआई शिक्षक के साथ कोडिंग साक्षात्कार की तैयारी सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
90
पाठ
360

अक्सर पूछे जाने वाले प्रश्न

क्या “बिट गिनना, लुप्त संख्या और बिट उलटना” पाठ निःशुल्क है?

हाँ—“बिट गिनना, लुप्त संख्या और बिट उलटना” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और कोडिंग साक्षात्कार की तैयारी पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। कोडिंग साक्षात्कार की तैयारी पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“बिट गिनना, लुप्त संख्या और बिट उलटना” में मैं क्या सीखूँगा?

DP और lowest-set-bit युक्ति से 0..n के बिट-गणना मान निकालिए, XOR से लुप्त संख्या खोजिए और 32-बिट पूर्णांक के बिट उलटिए। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ कोडिंग साक्षात्कार की तैयारी का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या कोडिंग साक्षात्कार की तैयारी शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर कोडिंग साक्षात्कार की तैयारी शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 4वाँ पाठ है।

“बिट गिनना, लुप्त संख्या और बिट उलटना” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस कोडिंग साक्षात्कार की तैयारी पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर कोडिंग साक्षात्कार की तैयारी पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. बिटवाइज़ ऑपरेटर: AND, OR, XOR, NOT, शिफ्ट
  2. एकल संख्या और XOR के गुण
  3. बिट मास्क: सेट, क्लियर, टॉगल, जाँच
  4. बिट गिनना, लुप्त संख्या और बिट उलटना
← कोडिंग साक्षात्कार की तैयारी पर वापस जाएँ