वर्षा जल संग्रहण: स्टैक और दो पॉइंटर
trapping-rain-water को मोनोटोनिक-स्टैक दृष्टिकोण से हल कीजिए, जो क्षैतिज परतों की गणना करता है, और दो-पॉइंटर दृष्टिकोण से, जो ऊर्ध्वाधर स्तंभों की गणना करता है।
वर्षा जल संग्रहण: स्टैक और दो पॉइंटर, CoddyKit पर कोडिंग साक्षात्कार की तैयारी का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह कोडिंग साक्षात्कार की तैयारी सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। कोडिंग साक्षात्कार की तैयारी पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
समस्या: वर्षाजल को रोकना
वर्षाजल को रोकना (LeetCode 42 साक्षात्कार की सबसे प्रसिद्ध समस्याओं में से एक है। इसमें ऊँचाई का मानचित्र दर्शाने वाले n गैर-ऋणात्मक पूर्णांक दिए जाते हैं, जहाँ प्रत्येक स्तंभ की चौड़ाई 1 है। वर्षा के बाद स्तंभों के बीच कितना पानी रुक सकता है, यह गणना करना होता है। दोनों ओर ऊँचे स्तंभों के बीच की किसी भी घाटी में पानी भर जाता है।
प्रत्येक स्थान i के लिए, पानी का स्तर min(max_left[i], max_right[i]) - height[i] होता है। यदि यह ऋणात्मक है, तो कोई पानी नहीं रुकता (स्तंभ कम-से-कम एक सीमा से ऊँचा है)। तीन तरीके हैं: पहले से गणना की गई सरणियाँ O(n)/O(n), दो सूचक O(n)/O(1), और मोनोटोनिक स्टैक O(n)/O(n)।
height = [0, 1, 0, 2, 1, 0, 1, 3, 2, 1, 2, 1]
# Water trapped at each position:
# pos 2: min(1,3)-0=1
# pos 4: min(2,3)-1=1
# pos 5: min(2,3)-0=2
# pos 6: min(2,3)-1=1
# pos 9: min(3,2)-1=1
# Total = 6
print('height:', height)
print('Expected trapped water: 6')
# Visualise
max_h = max(height)
for row in range(max_h, 0, -1):
line = ''
for h in height:
line += '#' if h >= row else ' '
print(line)तरीका 1: पहले से गणना किए गए अधिकतम मानों की सरणियाँ
सीधा O(n) समय और O(n) स्थान वाला समाधान दो सरणियों की पहले से गणना करता है: max_left[i] = सूचकांक 0 से i तक की अधिकतम ऊँचाई, और max_right[i] = सूचकांक i से n-1 तक की अधिकतम ऊँचाई। स्थान i पर पानी की मात्रा max(0, min(max_left[i], max_right[i]) - height[i]) होती है।
max_left बनाने के लिए बाएँ से दाएँ एक ही पास चाहिए; max_right बनाने के लिए दाएँ से बाएँ एक पास चाहिए। अंतिम पास पानी का कुल योग निकालता है। यह तरीका साफ़ और समझाने में आसान है, लेकिन O(n) अतिरिक्त स्थान का उपयोग करता है।
def trap_prefix(height):
n = len(height)
if n < 3:
return 0
max_left = [0] * n
max_right = [0] * n
max_left[0] = height[0]
for i in range(1, n):
max_left[i] = max(max_left[i-1], height[i])
max_right[-1] = height[-1]
for i in range(n-2, -1, -1):
max_right[i] = max(max_right[i+1], height[i])
water = 0
for i in range(n):
water += max(0, min(max_left[i], max_right[i]) - height[i])
return water
print(trap_prefix([0,1,0,2,1,0,1,3,2,1,2,1])) # 6
print(trap_prefix([4,2,0,3,2,5])) # 9तरीका 2: दो सूचक (O(1) स्थान)
दो-सूचक विधि O(n) समय और O(1) स्थान प्राप्त करती है। दोनों सिरों से शुरू होने वाले बाएँ और दाएँ सूचक उपयोग करें। प्रत्येक ओर से अब तक देखे गए चलते अधिकतम मानों के रूप में max_left और max_right बनाए रखें।
हर चरण में उस ओर को संसाधित करें जिसका चलता अधिकतम मान छोटा है — क्योंकि वही सीमित करने वाला कारक है। यदि max_left < max_right, तो बाएँ सूचक पर पानी की मात्रा max_left - height[left] है (दाहिनी ओर पर्याप्त ऊँची है)। बाएँ सूचक को अंदर की ओर बढ़ाएँ। अन्यथा दाएँ सूचक को इसी प्रकार संसाधित करें। पहले से गणना की गई सरणियों की आवश्यकता नहीं होती।
def trap_two_pointer(height):
left, right = 0, len(height) - 1
max_left = max_right = 0
water = 0
while left < right:
if height[left] < height[right]:
if height[left] >= max_left:
max_left = height[left] # new max on the left
else:
water += max_left - height[left] # trapped by max_left
left += 1
else:
if height[right] >= max_right:
max_right = height[right]
else:
water += max_right - height[right]
right -= 1
return water
print(trap_two_pointer([0,1,0,2,1,0,1,3,2,1,2,1])) # 6
print(trap_two_pointer([4,2,0,3,2,5])) # 9
print(trap_two_pointer([3,0,3])) # 3दो सूचक क्यों काम करते हैं: अपरिवर्तनीय स्थिति
मुख्य अंतर्दृष्टि यह है: जब हम height[left] < height[right] के कारण बाएँ सूचक को संसाधित करते हैं, तो हमें पता है कि max_right >= height[right] > height[left]। इसलिए दाईं ओर की प्रभावी जल-सीमा कम-से-कम height[right] है, जो पहले से ही max_left से बड़ी है। अतः min(max_left, effective_max_right) = max_left, और पानी का सूत्र सरल होकर max_left - height[left] बन जाता है।
हमें ठीक-ठीक max_right जानने की आवश्यकता नहीं है — केवल यह जानना पर्याप्त है कि वह कम-से-कम height[right] > height[left] जितना है, इसलिए हम पानी के स्तर के रूप में max_left का उपयोग कर सकते हैं। यही सुंदर अपरिवर्तनीय स्थिति O(1) स्थान को संभव बनाती है।
# Trace two-pointer on [4, 2, 0, 3, 2, 5]
height = [4, 2, 0, 3, 2, 5]
left, right = 0, len(height) - 1
max_l = max_r = water = 0
print('height:', height)
print(f'{'Step':5} {'L':3} {'R':3} {'maxL':5} {'maxR':5} {'water':6} {'total':6}')
step = 0
while left < right:
side = 'L' if height[left] < height[right] else 'R'
if side == 'L':
if height[left] >= max_l: max_l = height[left]
else:
w = max_l - height[left]; water += w
left += 1
else:
if height[right] >= max_r: max_r = height[right]
else:
w = max_r - height[right]; water += w
right -= 1
step += 1
print(f'{step:5} {left:3} {right:3} {max_l:5} {max_r:5} {water:6}')
print('Total trapped:', water)दृष्टिकोण 3: एकदिशीय स्टैक (क्षैतिज परतें)
एकदिशीय स्टैक वाली विधि आस-पास के स्तंभों के बीच क्षैतिज परतों में पानी की गणना करती है। सूचकांकों का घटते क्रम वाला स्टैक बनाए रखें। जब कोई स्तंभ स्टैक के शीर्ष वाले स्तंभ से ऊँचा होता है, तो एक घाटी बनती है: तल height[j] होता है, j को निकालने के बाद बाईं दीवार height[stack[-1]] और दाईं दीवार height[i] होती है। पानी घाटी में min(left_wall, right_wall) - floor तक भरता है और इसकी चौड़ाई i - stack[-1] - 1 होती है।
हर घाटी की गणना तब होती है जब उससे ऊँचा स्तंभ मिलता है। इस तरह पानी की गणना सीमित आयताकार खंडों में होती है, जो तब उपयोगी है जब आपको यह भी पता लगाना हो कि पानी के स्तर में किन स्तंभों का योगदान है।
def trap_stack(height):
stack = [] # monotonic decreasing indices
water = 0
for i in range(len(height)):
while stack and height[stack[-1]] < height[i]:
bottom_idx = stack.pop() # the floor of the valley
if not stack:
break # no left wall, no water
left_idx = stack[-1]
floor = height[bottom_idx]
water_height = min(height[left_idx], height[i]) - floor
width = i - left_idx - 1
water += water_height * width
stack.append(i)
return water
print(trap_stack([0,1,0,2,1,0,1,3,2,1,2,1])) # 6
print(trap_stack([4,2,0,3,2,5])) # 9एकदिशीय स्टैक की प्रक्रिया देखना
आइए स्टैक वाली विधि से [0,1,0,2,1,0,1,3,...] का क्रम देखते हैं। स्थिति 3 पर ऊँचाई 2 वाला स्तंभ मिलने पर स्टैक का शीर्ष स्थिति 2 (ऊँचाई 0) है; उसे निकाल दें। बाईं दीवार स्थिति 1 (ऊँचाई 1) है और दाईं दीवार की ऊँचाई 2 है। पानी की ऊँचाई = न्यूनतम(1,2)-0=1, चौड़ाई=3-1-1=1, क्षेत्रफल=1। आगे बढ़ें: स्टैक का शीर्ष स्थिति 1 (ऊँचाई 1) अब 2 से छोटा नहीं है, इसलिए रुकें। 3 को स्टैक में डालें।
स्टैक वाली विधि को दो संकेतकों वाली विधि की तुलना में लागू करना अधिक जटिल है, लेकिन इससे पता चलता है कि पानी की प्रत्येक इकाई कौन से विशिष्ट स्तंभ बनाते हैं। यह जानकारी पानी की संरचना दोबारा बनाने या अलग-अलग घाटियों की गिनती करने वाले आगे के प्रश्नों में उपयोगी है।
def trap_stack_trace(height):
stack = []
water = 0
for i in range(len(height)):
print(f'i={i} h={height[i]}: stack={[height[s] for s in stack]}')
while stack and height[stack[-1]] < height[i]:
bot = stack.pop()
if not stack:
print(f' Pop {height[bot]}: no left wall, skip')
break
left = stack[-1]
h = min(height[left], height[i]) - height[bot]
w = i - left - 1
water += h * w
print(f' Pop {height[bot]}: floor={height[bot]}, left_wall={height[left]}, right_wall={height[i]}, h={h}, w={w}, +{h*w}')
stack.append(i)
return water
result = trap_stack_trace([0,1,0,2,1,0,1,3,2,1,2,1])
print('Total:', result)तीनों दृष्टिकोणों की तुलना
बारिश का पानी रोकने के तीनों दृष्टिकोणों का सारांश:
- उपसर्ग सारणियाँ: O(n) समय, O(n) स्थान। समझना और सत्यापित करना सबसे आसान। उन साक्षात्कारों के लिए सर्वोत्तम जहाँ स्थान की दक्षता से अधिक स्पष्टता को महत्व दिया जाता है।
- दो संकेतक: O(n) समय, O(1) स्थान। समय और स्थान दोनों में सर्वोत्तम। ऐसे आगे के प्रश्नों के लिए सबसे अच्छा विकल्प जिनमें पूछा जाए, क्या आप O(1) स्थान में कर सकते हैं?
- एकदिशीय स्टैक: O(n) समय, O(n) स्थान। पानी की गणना क्षैतिज परतों में करता है। तब उपयोगी जब आपको यह जानना हो कि किन स्तंभों का योगदान है या जब यह समस्या किसी बड़े स्टैक-आधारित एल्गोरिद्म के उप-भाग के रूप में सामने आए।
height = [0,1,0,2,1,0,1,3,2,1,2,1]
# All three methods — verify they agree
def trap_prefix(h):
n = len(h)
ml = [0]*n; mr = [0]*n; ml[0]=h[0]; mr[-1]=h[-1]
for i in range(1,n): ml[i]=max(ml[i-1],h[i])
for i in range(n-2,-1,-1): mr[i]=max(mr[i+1],h[i])
return sum(max(0,min(ml[i],mr[i])-h[i]) for i in range(n))
def trap_two_ptr(h):
l,r,ml,mr,w = 0,len(h)-1,0,0,0
while l<r:
if h[l]<h[r]:
ml=max(ml,h[l]); w+=ml-h[l]; l+=1
else:
mr=max(mr,h[r]); w+=mr-h[r]; r-=1
return w
def trap_stk(h):
stk,w = [],[]
for i in range(len(h)):
while stk and h[stk[-1]]<h[i]:
b=stk.pop()
if not stk: break
w.append(max(0,min(h[stk[-1]],h[i])-h[b])*(i-stk[-1]-1))
stk.append(i)
return sum(w)
for h in [height, [4,2,0,3,2,5], [3,0,3], [1,0,1]]:
p=trap_prefix(h); t=trap_two_ptr(h); s=trap_stk(h)
print(f'{h}: prefix={p}, two-ptr={t}, stack={s}, match={p==t==s}')सबसे अधिक पानी वाला पात्र
सबसे अधिक पानी वाला पात्र (LeetCode 11) को अक्सर बारिश का पानी रोकने वाली समस्या समझ लिया जाता है। यहाँ आप ठीक दो स्तंभ चुनते हैं और पानी की सीमा केवल उन्हीं दो स्तंभों से बनती है; बीच के स्तंभों का कोई महत्व नहीं होता। क्षेत्रफल min(height[l], height[r]) × (r - l) को अधिकतम करें।
दो संकेतक इस समस्या को लालची विधि से हल करते हैं: दोनों सिरों से शुरू करें, जहाँ चौड़ाई अधिकतम होती है। छोटे संकेतक को अंदर की ओर ले जाएँ — बड़े संकेतक को ले जाने से क्षेत्रफल केवल घट सकता है। इसमें O(n) समय और O(1) स्थान लगता है, जो बारिश का पानी रोकने वाली दो-संकेतक विधि से सरल है क्योंकि चलते हुए अधिकतम मान को बनाए रखने की आवश्यकता नहीं होती।
def max_water_container(height):
left, right = 0, len(height) - 1
max_area = 0
while left < right:
area = min(height[left], height[right]) * (right - left)
max_area = max(max_area, area)
# Move the shorter bar: moving taller bar can only reduce min
if height[left] < height[right]:
left += 1
else:
right -= 1
return max_area
print(max_water_container([1,8,6,2,5,4,8,3,7])) # 49: bars 8 and 7
print(max_water_container([1,1])) # 1
print(max_water_container([4,3,2,1,4])) # 16
# Key difference from trapping rain water:
# Container: choose 2 bars, water fills freely between them (no internal barriers)
# Trapping: water fills ALL valleys in the full elevation mapउन्नत: बारिश का पानी रोकना II (त्रिविमीय)
बारिश का पानी रोकना II (LeetCode 407) समस्या को द्विविमीय ऊँचाई मैट्रिक्स तक विस्तारित करता है। पानी चारों दिशाओं में बह सकता है और उसे सीमा के ऊपर से बाहर निकलना होता है। समाधान में न्यूनतम ढेर का उपयोग होता है: पहले सभी सीमा-खानों को ढेर में डालें, फिर BFS-जैसे विस्तार की प्रक्रिया करें। सबसे कम ऊँचाई वाले खाने को संसाधित करें — उससे कम ऊँचाई वाले किसी भी पड़ोसी में कम-से-कम वर्तमान खाने के स्तर तक पानी होगा।
यह एकविमीय मामले से मूल रूप से अलग एल्गोरिद्म है और ढेर की क्रियाओं तथा BFS परिभ्रमण, दोनों की जाँच करता है। एकविमीय दो-संकेतक युक्ति को द्विविमीय स्थिति में सामान्यीकृत नहीं किया जा सकता, लेकिन ढेर वाली विधि को किया जा सकता है।
import heapq
def trap_rain_water_2d(heightMap):
if not heightMap or not heightMap[0]:
return 0
m, n = len(heightMap), len(heightMap[0])
visited = [[False]*n for _ in range(m)]
heap = [] # (height, row, col)
# Add all border cells to the heap
for i in range(m):
for j in [0, n-1]:
heapq.heappush(heap, (heightMap[i][j], i, j))
visited[i][j] = True
for j in range(n):
for i in [0, m-1]:
if not visited[i][j]:
heapq.heappush(heap, (heightMap[i][j], i, j))
visited[i][j] = True
total = 0
max_h = 0
while heap:
h, r, c = heapq.heappop(heap)
max_h = max(max_h, h)
for dr, dc in [(-1,0),(1,0),(0,-1),(0,1)]:
nr, nc = r+dr, c+dc
if 0<=nr<m and 0<=nc<n and not visited[nr][nc]:
visited[nr][nc] = True
total += max(0, max_h - heightMap[nr][nc])
heapq.heappush(heap, (max(max_h, heightMap[nr][nc]), nr, nc))
return total
map2d = [[1,4,3,1,3,2],[3,2,1,3,2,4],[2,3,3,2,3,1]]
print(trap_rain_water_2d(map2d)) # 4साक्षात्कार में प्रत्येक विधि का उपयोग कब करें
बारिश का पानी रोकने वाले साक्षात्कार प्रश्न के लिए निर्णय-मार्गदर्शिका:
- इससे शुरुआत करें: उपसर्ग सारणियाँ — समझाना आसान, देखने में सहज और शुद्धता स्पष्ट
- आगे का प्रश्न, O(1) स्थान?: दो संकेतक — समझाएँ कि छोटी ओर की सीमा ही मुख्य बाधा क्यों होती है
- यदि साक्षात्कारकर्ता पूछे, कोई दूसरा दृष्टिकोण?: एकदिशीय स्टैक — क्षैतिज परतों में गणना समझाएँ
कोड पर जाने से पहले हमेशा स्पष्ट रूप से बताएँ कि प्रत्येक स्थिति पर पानी का स्तर किससे निर्धारित होता है — दोनों ओर के सबसे ऊँचे स्तंभों में से छोटे की ऊँचाई से। इससे समस्या की समझ दिखाई देती है और समाधान समझाना आसान हो जाता है।
# Quick summary of all three approaches
approaches = [
{
'name': 'Prefix max arrays',
'time': 'O(n)', 'space': 'O(n)',
'description': '3 passes: build max_left, max_right, sum water column-by-column',
},
{
'name': 'Two pointers',
'time': 'O(n)', 'space': 'O(1)',
'description': 'Process smaller side: its max is the limiting wall, no array needed',
},
{
'name': 'Monotonic stack',
'time': 'O(n)', 'space': 'O(n)',
'description': 'Compute water in horizontal layers when a taller bar is encountered',
},
]
for a in approaches:
print(f'{a["name"]} [{a["time"]} / {a["space"]}]')
print(f' {a["description"]}')
print()सीमांत स्थितियाँ और सामान्य गलतियाँ
बारिश का पानी रोकने वाली समस्या में सामान्य गलतियाँ:
- न्यूनतम मान लेना भूल जाना: पानी का स्तर
min(max_left, max_right)होता है, केवल इनमें से किसी एक के बराबर नहीं। किसी स्तंभ को पानी रोकने के लिए दोनों ओर ऊँची दीवारें चाहिए। - ऋणात्मक पानी: जब किसी स्थिति की ऊँचाई पानी के स्तर से अधिक हो, तो ऋणात्मक मानों को 0 तक सीमित करने के लिए
max(0, ...)का उपयोग करें। - सीमांत स्थितियाँ: सबसे बाएँ और सबसे दाएँ स्तंभ कभी पानी नहीं रोक सकते, क्योंकि एक ओर दीवार नहीं होती। उपसर्ग सारणी वाली विधि इसे स्वाभाविक रूप से संभालती है, क्योंकि
max_left[0] = height[0]के कारण अनुक्रमणिका 0 पर पानी हमेशा 0 रहता है। - खाली या बहुत छोटी सारणियाँ: 3 से कम तत्वों वाली सारणियों के लिए 0 लौटाएँ।
def trap(height):
n = len(height)
if n < 3:
return 0 # need at least 3 bars to trap anything
left, right = 0, n - 1
max_l = max_r = water = 0
while left < right:
if height[left] <= height[right]:
if height[left] >= max_l:
max_l = height[left]
else:
water += max_l - height[left] # never negative: max_l > height[left]
left += 1
else:
if height[right] >= max_r:
max_r = height[right]
else:
water += max_r - height[right]
right -= 1
return water
# Edge cases
print(trap([])) # 0: empty
print(trap([1])) # 0: single bar
print(trap([1,2])) # 0: two bars
print(trap([3,0,3])) # 3: simple valley
print(trap([3,3,3])) # 0: flat top, no waterत्वरित जाँच
इस पाठ में डेटा संरचनाएँ & एल्गोरिद्म — कोडिंग साक्षात्कार की तैयारी की अवधारणाओं के बारे में अपनी समझ जाँचें।
पाठ का पुनरावलोकन
इस पाठ में आपने सीखा: बारिश का पानी रोकने की समस्या प्रत्येक स्थिति पर दोनों ओर की सबसे ऊँची दीवारों में से छोटी दीवार खोजकर हल की जाती है, दो-संकेतक वाली O(1)-स्थान विधि इसलिए काम करती है क्योंकि छोटी ओर का चलता हुआ अधिकतम मान हमेशा निर्णायक सीमा होता है, और एकदिशीय स्टैक वाली विधि पानी की गणना क्षैतिज परतों में करती है, इसलिए यह अन्य स्टैक-आधारित तर्क के साथ उपयोगी होती है। अब हम सिस्टम डिज़ाइन की अवधारणाओं पर जाएँगे और व्यवस्थित साक्षात्कार-उत्तर के लिए RADIO ढाँचे से शुरुआत करेंगे।
एआई शिक्षक के साथ कोडिंग साक्षात्कार की तैयारी सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 90
- पाठ
- 360
अक्सर पूछे जाने वाले प्रश्न
क्या “वर्षा जल संग्रहण: स्टैक और दो पॉइंटर” पाठ निःशुल्क है?
हाँ—“वर्षा जल संग्रहण: स्टैक और दो पॉइंटर” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और कोडिंग साक्षात्कार की तैयारी पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। कोडिंग साक्षात्कार की तैयारी पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“वर्षा जल संग्रहण: स्टैक और दो पॉइंटर” में मैं क्या सीखूँगा?
trapping-rain-water को मोनोटोनिक-स्टैक दृष्टिकोण से हल कीजिए, जो क्षैतिज परतों की गणना करता है, और दो-पॉइंटर दृष्टिकोण से, जो ऊर्ध्वाधर स्तंभों की गणना करता है। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ कोडिंग साक्षात्कार की तैयारी का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या कोडिंग साक्षात्कार की तैयारी शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर कोडिंग साक्षात्कार की तैयारी शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 4वाँ पाठ है।
“वर्षा जल संग्रहण: स्टैक और दो पॉइंटर” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस कोडिंग साक्षात्कार की तैयारी पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर कोडिंग साक्षात्कार की तैयारी पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- मोनोटोनिक स्टैक: बढ़ता बनाम घटता
- हिस्टोग्राम में सबसे बड़ा आयत
- मोनोटोनिक डेक के साथ स्लाइडिंग विंडो अधिकतम
- वर्षा जल संग्रहण: स्टैक और दो पॉइंटर