PageSourceSearch

https://bytebytego.com/courses/coding-patterns

html bytebytego.com collected 2026-09-24 08:41:31 UTC 51,988 bytes, 282 lines download raw bytes

1<!DOCTYPE html><html data-dpl-id="dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM"><head>
1<script>(function(w,i,g){w[g]=w[g]||[];if(typeof w[g].push=='function')w[g].push(i)})
2(window,'GTM-P74TGBX4','google_tags_first_party');</script>
2<script>(function(w,d,s,l){w[l]=w[l]||[];(function(){w[l].push(arguments);})('set', 'developer_id.dY2E1Nz', true);
3		var f=d.getElementsByTagName(s)[0],
4		j=d.createElement(s);j.async=true;j.src='/8dbj/';
5		f.parentNode.insertBefore(j,f);
6		})(window,document,'script','dataLayer');</script>
6<meta charSet="utf-8" data-next-head=""/><title data-next-head="">ByteByteGo | Technical Interview Prep</title><meta name="robots" content="index,follow" data-next-head=""/><meta name="description" content="Everything you need to take your system design skill to the next level" data-next-head=""/><meta name="twitter:card" content="summary_large_image" data-next-head=""/><meta name="twitter:site" content="@bytebytego" data-next-head=""/><meta name="twitter:creator" content="@bytebytego" data-next-head=""/><meta property="og:title" content="System Design · Coding · Behavioral · Machine Learning Interviews" data-next-head=""/><meta property="og:description" content="Ace Every Stage of Your Next Technical Interview" data-next-head=""/><meta property="og:url" content="https://bytebytego.com" data-next-head=""/><meta property="og:type" content="website" data-next-head=""/><meta property="og:image" content="https://bytebytego.com/social2.png" data-next-head=""/><meta property="og:image:alt" content="ByteByteGo Logo" data-next-head=""/><meta property="og:image:type" content="image/png" data-next-head=""/><meta property="og:image:width" content="2400" data-next-head=""/><meta property="og:image:height" content="1260" data-next-head=""/><meta property="og:locale" content="en_US" data-next-head=""/><meta property="og:site_name" content="ByteByteGo" data-next-head=""/><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" data-next-head=""/><link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" data-next-head=""/><link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" data-next-head=""/><link rel="manifest" href="/site.webmanifest" data-next-head=""/><link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5" data-next-head=""/><meta name="msapplication-TileColor" content="#da532c" data-next-head=""/><meta name="theme-color" content="#ffffff" data-next-head=""/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1,user-scalable=0" data-next-head=""/><meta name="format-detection" content="telephone=no, date=no, email=no, address=no" data-next-head=""/><style id="ios-text-size-adjust" data-next-head="">
7  html,
8  body {
9    -webkit-text-size-adjust: 100%;
10    text-size-adjust: 100%;
11  }
12</style><link rel="preload" href="/_next/static/media/logo.13avpmsgkn3l3.svg?dpl=dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM" as="image" data-next-head=""/>
12<script id="bytebytego-announcement-banner-bootstrap">
13(function () {
14  try {
15    if (window.localStorage.getItem('HIDE_LIVE_COURSES_BANNER_2026_09')) {
16      document.documentElement.dataset.bytebytegoAnnouncementBannerHidden = 'true';
17      document.documentElement.style.setProperty('--bytebytego-announcement-banner-display', 'none');
18      document.documentElement.style.setProperty('--bytebytego-announcement-banner-offset', '0px');
19    }
20  } catch (error) {}
21})();
22</script>
22<script id="bytebytego-consent-bootstrap">
23(function () {
24  var consentEnabled = true;
25  var categories = ['necessary', 'functional', 'analytics', 'performance', 'advertisement'];
26
27  var categoryState = consentEnabled
28    ? {
29        necessary: true,
30        functional: false,
31        analytics: false,
32        performance: false,
33        advertisement: false,
34      }
35    : {
36        necessary: true,
37        functional: true,
38        analytics: true,
39        performance: true,
40        advertisement: true,
41      };
42
43  var activeLaw = null;
44  var consentReady = !consentEnabled;
45  var listeners = new Set();
46
47  var readCookieValue = function (cookieString, name) {
48    var cookiePrefix = name + '=';
49    var entries = cookieString.split(';');
50
51    for (var index = 0; index < entries.length; index += 1) {
52      var entry = entries[index] ? entries[index].trim() : '';
53      if (!entry || entry.indexOf(cookiePrefix) !== 0) {
54        continue;
55      }
56
57      try {
58        return decodeURIComponent(entry.slice(cookiePrefix.length));
59      } catch (_error) {
60        return '';
61      }
62    }
63
64    return '';
65  };
66
67  var parseCookieCategories = function (cookieValue) {
68    if (!cookieValue) {
69      return null;
70    }
71
72    var nextState = Object.assign({}, categoryState);
73    var sawCategory = false;
74    var entries = cookieValue.split(',');
75
76    for (var index = 0; index < entries.length; index += 1) {
77      var parts = entries[index].split(':');
78      var rawKey = parts[0];
79      var rawValue = parts[1];
80
81      if (!rawKey || !rawValue) {
82        continue;
83      }
84
85      var key = rawKey.trim().toLowerCase();
86      var value = rawValue.trim().toLowerCase();
87
88      if (categories.indexOf(key) === -1) {
89        continue;
90      }
91
92      nextState[key] = value === 'yes' || value === 'true';
93      sawCategory = true;
94    }
95
96    return sawCategory ? nextState : null;
97  };
98
99  var normalizeCategoryState = function (input) {
100    if (!input || typeof input !== 'object') {
101      return null;
102    }
103
104    var normalized = Object.assign({}, categoryState);
105    var sawCategory = false;
106
107    for (var index = 0; index < categories.length; index += 1) {
108      var key = categories[index];
109      if (typeof input[key] !== 'boolean') {
110        continue;
111      }
112
113      normalized[key] = input[key];
114      sawCategory = true;
115    }
116
117    return sawCategory ? normalized : null;
118  };
119
120  var emitChange = function () {
121    var detail = {
122      enabled: consentEnabled,
123      ready: consentReady,
124      activeLaw: activeLaw,
125      categories: Object.assign({}, categoryState),
126    };
127
128    window.dispatchEvent(
129      new CustomEvent('bytebyte_consent_update', {
130        detail: detail,
131      })
132    );
133
134    listeners.forEach(function (listener) {
135      try {
136        listener(detail);
137      } catch (error) {
138        console.warn('[consent] failed to notify a consent listener', error);
139      }
140    });
141  };
142
143  if (consentEnabled) {
144    var cookieCategories = parseCookieCategories(
145      readCookieValue(document.cookie, 'cookieyes-consent')
146    );
147
148    if (cookieCategories) {
149      categoryState = cookieCategories;
150      consentReady = true;
151    }
152
153    document.addEventListener('cookieyes_banner_load', function (event) {
154      var detail = event && typeof event === 'object' ? event.detail : undefined;
155
156      var normalizedCategories = normalizeCategoryState(
157        detail && detail.categories
158      );
159
160      if (normalizedCategories) {
161        categoryState = normalizedCategories;
162      }
163
164      if (
165        detail &&
166        typeof detail.activeLaw === 'string' &&
167        detail.activeLaw
168      ) {
169        activeLaw = detail.activeLaw.trim().toLowerCase();
170      }
171
172      consentReady = true;
173      emitChange();
174    });
175
176    document.addEventListener('cookieyes_consent_update', function (event) {
177      var detail = event && typeof event === 'object' ? event.detail : undefined;
178
179      if (
180        (detail && Array.isArray(detail.accepted)) ||
181        (detail && Array.isArray(detail.rejected))
182      ) {
183        var nextState = Object.assign({}, categoryState);
184
185        if (detail && Array.isArray(detail.accepted)) {
186          for (var index = 0; index < detail.accepted.length; index += 1) {
187            var acceptedKey = String(detail.accepted[index])
188              .trim()
189              .toLowerCase();
190
191            if (categories.indexOf(acceptedKey) === -1) {
192              continue;
193            }
194
195            nextState[acceptedKey] = true;
196          }
197        }
198
199        if (detail && Array.isArray(detail.rejected)) {
200          for (var index = 0; index < detail.rejected.length; index += 1) {
201            var rejectedKey = String(detail.rejected[index])
202              .trim()
203              .toLowerCase();
204
205            if (categories.indexOf(rejectedKey) === -1) {
206              continue;
207            }
208
209            nextState[rejectedKey] = false;
210          }
211        }
212
213        nextState.necessary = true;
214        categoryState = nextState;
215      } else {
216        var normalizedCategories = normalizeCategoryState(
217          detail && detail.categories
218        );
219
220        if (normalizedCategories) {
221          categoryState = normalizedCategories;
222        }
223      }
224
225      consentReady = true;
226      emitChange();
227    });
228  }
229
230  var getCategoryConsentState = function (category) {
231    if (!consentEnabled) {
232      return 'granted';
233    }
234
235    if (!consentReady) {
236      return 'unknown';
237    }
238
239    var key = String(category).trim().toLowerCase();
240    if (categories.indexOf(key) === -1) {
241      return 'unknown';
242    }
243
244    return categoryState[key] ? 'granted' : 'denied';
245  };
246
247  var getAdvertisingStorageConsentState = function () {
248    return getCategoryConsentState('advertisement');
249  };
250
251  window.bytebyteConsent = {
252    isEnabled: consentEnabled,
253    isReady: function () {
254      return consentReady;
255    },
256    getActiveLaw: function () {
257      return activeLaw;
258    },
259    getCategories: function () {
260      return Object.assign({}, categoryState);
261    },
262    getCategoryConsentState: getCategoryConsentState,
263    getAdvertisingStorageConsentState: getAdvertisingStorageConsentState,
264    hasCategoryConsent: function (category) {
265      return getCategoryConsentState(category) === 'granted';
266    },
267    onChange: function (listener) {
268      if (typeof listener !== 'function') {
269        return function () {};
270      }
271
272      listeners.add(listener);
273      return function () {
274        listeners.delete(listener);
275      };
276    },
277  };
278
279  emitChange();
280})();
281</script>
281<script id="bytebytego-cookieyes-consent-defaults">window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag('consent','default',{"ad_storage":"denied","ad_user_data":"denied","ad_personalization":"denied","analytics_storage":"denied","functionality_storage":"granted","personalization_storage":"denied","security_storage":"granted","wait_for_update":2000,"region":["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IS","IE","IT","LV","LI","LT","LU","MT","NL","NO","PL","PT","RO","SK","SI","ES","SE","GB","CH"]});gtag('consent','default',{"ad_storage":"granted","ad_user_data":"granted","ad_personalization":"granted","analytics_storage":"granted","functionality_storage":"granted","personalization_storage":"granted","security_storage":"granted"});gtag('set','ads_data_redaction',true);gtag('set','url_passthrough',true);</script>
281<link rel="preconnect" href="https://firebase.googleapis.com"/><link rel="preconnect" href="https://www.googletagmanager.com"/><link rel="preconnect" href="https://vercel.live"/><link rel="preconnect" href="https://www.googleapis.com"/><link rel="preload" href="/_next/static/chunks/041wp~o5r34.h.css?dpl=dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM" as="style"/><link rel="stylesheet" href="/_next/static/chunks/041wp~o5r34.h.css?dpl=dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM" data-n-g=""/><link rel="preload" href="/_next/static/chunks/0.nur-c4qiok~.css?dpl=dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM" as="style"/><link rel="stylesheet" href="/_next/static/chunks/0.nur-c4qiok~.css?dpl=dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM" data-n-g=""/><link rel="preload" href="/_next/static/chunks/0i90tuh~7896_.css?dpl=dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM" as="style"/><link rel="stylesheet" href="/_next/static/chunks/0i90tuh~7896_.css?dpl=dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM" data-n-g=""/><link rel="preload" href="/_next/static/chunks/0~fss-xrsoqs7.css?dpl=dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM" as="style"/><link rel="stylesheet" href="/_next/static/chunks/0~fss-xrsoqs7.css?dpl=dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM" data-n-p=""/><noscript data-n-css=""></noscript>
281<script src="/_next/static/chunks/14nhe6jhxmtqn.js?dpl=dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM" defer=""></script>
281<script src="/_next/static/chunks/0r-1q2ccohcx5.js?dpl=dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM" defer=""></script>
281<script src="/_next/static/chunks/0un0jil87pt~i.js?dpl=dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM" defer=""></script>
281<script src="/_next/static/chunks/0e01ekw4e0vyl.js?dpl=dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM" defer=""></script>
281<script src="/_next/static/chunks/0ybcip2ey3f8q.js?dpl=dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM" defer=""></script>
281<script src="/_next/static/chunks/067159ebye~my.js?dpl=dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM" defer=""></script>
281<script src="/_next/static/chunks/12mnskwraalvv.js?dpl=dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM" defer=""></script>
281<script src="/_next/static/chunks/0eg~mcich8d~n.js?dpl=dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM" defer=""></script>
281<script src="/_next/static/chunks/11gndpur25g.0.js?dpl=dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM" defer=""></script>
281<script src="/_next/static/chunks/03m.di0cs0u3s.js?dpl=dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM" defer=""></script>
281<script src="/_next/static/chunks/0an9vhfme25um.js?dpl=dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM" defer=""></script>
281<script src="/_next/static/chunks/158oa8on3.m9e.js?dpl=dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM" defer=""></script>
281<script src="/_next/static/chunks/17mgwoa_o4ubw.js?dpl=dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM" defer=""></script>
281<script src="/_next/static/chunks/17i_f4a.33dft.js?dpl=dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM" defer=""></script>
281<script src="/_next/static/chunks/15yjsiwikxuxm.js?dpl=dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM" defer=""></script>
281<script src="/_next/static/chunks/0hx~1td~njfaw.js?dpl=dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM" defer=""></script>
281<script src="/_next/static/chunks/0noxqutw2gpj~.js?dpl=dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM" defer=""></script>
281<script src="/_next/static/chunks/18e2vx6i_yko..js?dpl=dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM" defer=""></script>
281<script src="/_next/static/chunks/00t1w_umir~9j.js?dpl=dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM" defer=""></script>
281<script src="/_next/static/chunks/010~466iv.q14.js?dpl=dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM" defer=""></script>
281<script src="/_next/static/chunks/00q4k7gh_.z~n.js?dpl=dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM" defer=""></script>
281<script src="/_next/static/chunks/12h9~ezq3t.m8.js?dpl=dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM" defer=""></script>
281<script src="/_next/static/chunks/12bxzxxt5s066.js?dpl=dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM" defer=""></script>
281<script src="/_next/static/chunks/turbopack-0fhh5xycm423w.js?dpl=dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM" defer=""></script>
281<script src="/_next/static/chunks/160fz3s34nsq5.js?dpl=dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM" defer=""></script>
281<script src="/_next/static/chunks/0f6u5j_olvbmh.js?dpl=dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM" defer=""></script>
281<script src="/_next/static/chunks/0cz-u.e~-w4mi.js?dpl=dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM" defer=""></script>
281<script src="/_next/static/chunks/0fd7q9adgzi-..js?dpl=dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM" defer=""></script>
281<script src="/_next/static/chunks/00i0lun0p-6yl.js?dpl=dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM" defer=""></script>
281<script src="/_next/static/chunks/0qowqb5_k8~~e.js?dpl=dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM" defer=""></script>
281<script src="/_next/static/chunks/turbopack-0xk_qershr3ak.js?dpl=dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM" defer=""></script>
281<script src="/_next/static/build-TfctsWXpff2fKS/_buildManifest.js?dpl=dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM" defer=""></script>
281<script src="/_next/static/build-TfctsWXpff2fKS/_ssgManifest.js?dpl=dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM" defer=""></script>
281<script src="/_next/static/build-TfctsWXpff2fKS/_clientMiddlewareManifest.js?dpl=dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM" defer=""></script>
281</head><body><div id="__next"><div class="ant-layout css-133v4sd"><header class="ant-layout-header style-module-scss-module__nG5F8W__header style-module-scss-module__nG5F8W__light css-133v4sd" style="border-width:1px;top:0px"><a class="style-module-scss-module__nG5F8W__headerLogoLink" href="/"><img alt="ByteByteGo logo" decoding="async" data-nimg="fill" class="style-module-scss-module__nG5F8W__headerLogoImage" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" src="/_next/static/media/logo.13avpmsgkn3l3.svg?dpl=dpl_E9hncaNm4UVXhj3sgKmWdZzb3osM"/></a><div class="style-module-scss-module__nG5F8W__headerRight"><div class="style-module-scss-module__nG5F8W__navLinkSlot style-module-scss-module__nG5F8W__navLinkSlotHiddenOnMobile"><span class="style-module-scss-module__nG5F8W__navLinkPlaceholder" aria-hidden="true"></span></div><div class="style-module-scss-module__nG5F8W__headerProfileWrap"><div class="style-module-scss-module__nG5F8W__accountSlot style-module-scss-module__nG5F8W__accountSlotReserved"><div class="style-module-scss-module__nG5F8W__accountPlaceholder" aria-hidden="true"></div></div></div></div></header><main class="ant-layout-content css-133v4sd" style="margin-top:var(--bytebytego-header-height, 64px)"><div class="style-module-scss-module__ifBj7a__mobileTocRoot"><div class="style-module-scss-module___tLBDa__mobileCourseMenuWrap" style="background:#f6f6f6"><header class="style-module-scss-module___tLBDa__courseTitle"><button type="button" class="ant-btn css-133v4sd ant-btn-default ant-btn-color-default ant-btn-variant-outlined style-module-scss-module___tLBDa__backBtn"><span role="img" aria-label="left" class="anticon anticon-left"><svg viewBox="64 64 896 896" focusable="false" data-icon="left" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 000 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z"></path></svg></span></button><h2>Coding Interview Patterns</h2></header><div class="ant-collapse ant-collapse-icon-position-start ant-collapse-borderless ant-collapse-ghost css-133v4sd"><div id="two-pointers" class="ant-collapse-item"><div class="ant-collapse-header" role="button" aria-expanded="false" aria-disabled="false" tabindex="0"><span class="ant-collapse-header-text"><h3><span class="style-module-scss-module___tLBDa__subsectionTitle">Two Pointers</span></h3></span></div></div><div id="hash-maps-and-sets" class="ant-collapse-item"><div class="ant-collapse-header" role="button" aria-expanded="false" aria-disabled="false" tabindex="0"><span class="ant-collapse-header-text"><h3><span class="style-module-scss-module___tLBDa__subsectionTitle">Hash Maps And Sets</span></h3></span></div></div><div id="linked-lists" class="ant-collapse-item"><div class="ant-collapse-header" role="button" aria-expanded="false" aria-disabled="false" tabindex="0"><span class="ant-collapse-header-text"><h3><span class="style-module-scss-module___tLBDa__subsectionTitle">Linked Lists</span></h3></span></div></div><div id="fast-and-slow-pointers" class="ant-collapse-item"><div class="ant-collapse-header" role="button" aria-expanded="false" aria-disabled="false" tabindex="0"><span class="ant-collapse-header-text"><h3><span class="style-module-scss-module___tLBDa__subsectionTitle">Fast And Slow Pointers</span></h3></span></div></div><div id="sliding-windows" class="ant-collapse-item"><div class="ant-collapse-header" role="button" aria-expanded="false" aria-disabled="false" tabindex="0"><span class="ant-collapse-header-text"><h3><span class="style-module-scss-module___tLBDa__subsectionTitle">Sliding Windows</span></h3></span></div></div><div id="binary-search" class="ant-collapse-item"><div class="ant-collapse-header" role="button" aria-expanded="false" aria-disabled="false" tabindex="0"><span class="ant-collapse-header-text"><h3><span class="style-module-scss-module___tLBDa__subsectionTitle">Binary Search</span></h3></span></div></div><div id="stacks" class="ant-collapse-item"><div class="ant-collapse-header" role="button" aria-expanded="false" aria-disabled="false" tabindex="0"><span class="ant-collapse-header-text"><h3><span class="style-module-scss-module___tLBDa__subsectionTitle">Stacks</span></h3></span></div></div><div id="heaps" class="ant-collapse-item"><div class="ant-collapse-header" role="button" aria-expanded="false" aria-disabled="false" tabindex="0"><span class="ant-collapse-header-text"><h3><span class="style-module-scss-module___tLBDa__subsectionTitle">Heaps</span></h3></span></div></div><div id="intervals" class="ant-collapse-item"><div class="ant-collapse-header" role="button" aria-expanded="false" aria-disabled="false" tabindex="0"><span class="ant-collapse-header-text"><h3><span class="style-module-scss-module___tLBDa__subsectionTitle">Intervals</span></h3></span></div></div><div id="prefix-sums" class="ant-collapse-item"><div class="ant-collapse-header" role="button" aria-expanded="false" aria-disabled="false" tabindex="0"><span class="ant-collapse-header-text"><h3><span class="style-module-scss-module___tLBDa__subsectionTitle">Prefix Sums</span></h3></span></div></div><div id="trees" class="ant-collapse-item"><div class="ant-collapse-header" role="button" aria-expanded="false" aria-disabled="false" tabindex="0"><span class="ant-collapse-header-text"><h3><span class="style-module-scss-module___tLBDa__subsectionTitle">Trees</span></h3></span></div></div><div id="tries" class="ant-collapse-item"><div class="ant-collapse-header" role="button" aria-expanded="false" aria-disabled="false" tabindex="0"><span class="ant-collapse-header-text"><h3><span class="style-module-scss-module___tLBDa__subsectionTitle">Tries</span></h3></span></div></div><div id="graphs" class="ant-collapse-item"><div class="ant-collapse-header" role="button" aria-expanded="false" aria-disabled="false" tabindex="0"><span class="ant-collapse-header-text"><h3><span class="style-module-scss-module___tLBDa__subsectionTitle">Graphs</span></h3></span></div></div><div id="backtracking" class="ant-collapse-item"><div class="ant-collapse-header" role="button" aria-expanded="false" aria-disabled="false" tabindex="0"><span class="ant-collapse-header-text"><h3><span class="style-module-scss-module___tLBDa__subsectionTitle">Backtracking</span></h3></span></div></div><div id="dynamic-programming" class="ant-collapse-item"><div class="ant-collapse-header" role="button" aria-expanded="false" aria-disabled="false" tabindex="0"><span class="ant-collapse-header-text"><h3><span class="style-module-scss-module___tLBDa__subsectionTitle">Dynamic Programming</span></h3></span></div></div><div id="greedy" class="ant-collapse-item"><div class="ant-collapse-header" role="button" aria-expanded="false" aria-disabled="false" tabindex="0"><span class="ant-collapse-header-text"><h3><span class="style-module-scss-module___tLBDa__subsectionTitle">Greedy</span></h3></span></div></div>
281<div id="sort-and-search" class="ant-collapse-item"><div class="ant-collapse-header" role="button" aria-expanded="false" aria-disabled="false" tabindex="0"><span class="ant-collapse-header-text"><h3><span class="style-module-scss-module___tLBDa__subsectionTitle">Sort And Search</span></h3></span></div></div><div id="bit-manipulation" class="ant-collapse-item"><div class="ant-collapse-header" role="button" aria-expanded="false" aria-disabled="false" tabindex="0"><span class="ant-collapse-header-text"><h3><span class="style-module-scss-module___tLBDa__subsectionTitle">Bit Manipulation</span></h3></span></div></div><div id="math-and-geometry" class="ant-collapse-item"><div class="ant-collapse-header" role="button" aria-expanded="false" aria-disabled="false" tabindex="0"><span class="ant-collapse-header-text"><h3><span class="style-module-scss-module___tLBDa__subsectionTitle">Math And Geometry</span></h3></span></div></div></div></div></div></main></div><!--$--><!--/$--></div>
281<script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"course":"coding-patterns","toc":[{"course":"coding-patterns","slug":["two-pointers","introduction-to-two-pointers"],"id":"two-pointers/introduction-to-two-pointers","chapter":"01-00","difficulty":"Medium","free":true,"title":"Introduction to Two Pointers","subsection":"Two Pointers"},{"course":"coding-patterns","slug":["two-pointers","pair-sum-sorted"],"id":"two-pointers/pair-sum-sorted","chapter":"01-01","difficulty":"Medium","free":true,"title":"Pair Sum - Sorted","subsection":"Two Pointers"},{"course":"coding-patterns","slug":["two-pointers","triplet-sum"],"id":"two-pointers/triplet-sum","chapter":"01-02","difficulty":"Medium","free":true,"title":"Triplet Sum","subsection":"Two Pointers"},{"course":"coding-patterns","slug":["two-pointers","is-palindrome-valid"],"id":"two-pointers/is-palindrome-valid","chapter":"01-03","difficulty":"Medium","free":true,"title":"Is Palindrome Valid","subsection":"Two Pointers"},{"course":"coding-patterns","slug":["two-pointers","largest-container"],"id":"two-pointers/largest-container","chapter":"01-04","difficulty":"Medium","free":true,"title":"Largest Container","subsection":"Two Pointers"},{"course":"coding-patterns","slug":["two-pointers","shift-zeros-to-the-end"],"id":"two-pointers/shift-zeros-to-the-end","chapter":"01-05","difficulty":"Medium","title":"Shift Zeros to the End","subsection":"Two Pointers"},{"course":"coding-patterns","slug":["two-pointers","next-lexicographical-sequence"],"id":"two-pointers/next-lexicographical-sequence","chapter":"01-06","difficulty":"Medium","title":"Next Lexicographical Sequence","subsection":"Two Pointers"},{"course":"coding-patterns","slug":["hash-maps-and-sets","introduction-to-hash-maps-and-sets"],"id":"hash-maps-and-sets/introduction-to-hash-maps-and-sets","chapter":"02-00","difficulty":"Medium","title":"Introduction to Hash Maps and Sets","subsection":"Hash Maps And Sets"},{"course":"coding-patterns","slug":["hash-maps-and-sets","pair-sum-unsorted"],"id":"hash-maps-and-sets/pair-sum-unsorted","chapter":"02-01","difficulty":"Medium","title":"Pair Sum - Unsorted","subsection":"Hash Maps And Sets"},{"course":"coding-patterns","slug":["hash-maps-and-sets","verify-sudoku-board"],"id":"hash-maps-and-sets/verify-sudoku-board","chapter":"02-02","difficulty":"Medium","title":"Verify Sudoku Board","subsection":"Hash Maps And Sets"},{"course":"coding-patterns","slug":["hash-maps-and-sets","zero-striping"],"id":"hash-maps-and-sets/zero-striping","chapter":"02-03","difficulty":"Medium","title":"Zero Striping","subsection":"Hash Maps And Sets"},{"course":"coding-patterns","slug":["hash-maps-and-sets","longest-chain-of-consecutive-numbers"],"id":"hash-maps-and-sets/longest-chain-of-consecutive-numbers","chapter":"02-04","difficulty":"Medium","title":"Longest Chain of Consecutive Numbers","subsection":"Hash Maps And Sets"},{"course":"coding-patterns","slug":["hash-maps-and-sets","geometric-sequence-triplets"],"id":"hash-maps-and-sets/geometric-sequence-triplets","chapter":"02-05","difficulty":"Medium","title":"Geometric Sequence Triplets","subsection":"Hash Maps And Sets"},{"course":"coding-patterns","slug":["linked-lists","introduction-to-linked-lists"],"id":"linked-lists/introduction-to-linked-lists","chapter":"03-00","difficulty":"Medium","title":"Introduction to Linked Lists","subsection":"Linked Lists"},{"course":"coding-patterns","slug":["linked-lists","linked-list-reversal"],"id":"linked-lists/linked-list-reversal","chapter":"03-01","difficulty":"Medium","title":"Linked List Reversal","subsection":"Linked Lists"},{"course":"coding-patterns","slug":["linked-lists","remove-the-kth-last-node-from-a-linked-list"],"id":"linked-lists/remove-the-kth-last-node-from-a-linked-list","chapter":"03-02","difficulty":"Medium","title":"Remove the Kth Last Node From a Linked List","subsection":"Linked Lists"},{"course":"coding-patterns","slug":["linked-lists","linked-list-intersection"],"id":"linked-lists/linked-list-intersection","chapter":"03-03","difficulty":"Medium","title":"Linked List Intersection","subsection":"Linked Lists"}
281,{"course":"coding-patterns","slug":["linked-lists","lru-cache"],"id":"linked-lists/lru-cache","chapter":"03-04","difficulty":"Medium","title":"LRU Cache","subsection":"Linked Lists"},{"course":"coding-patterns","slug":["linked-lists","palindromic-linked-list"],"id":"linked-lists/palindromic-linked-list","chapter":"03-05","difficulty":"Medium","title":"Palindromic Linked List","subsection":"Linked Lists"},{"course":"coding-patterns","slug":["linked-lists","flatten-a-multi-level-linked-list"],"id":"linked-lists/flatten-a-multi-level-linked-list","chapter":"03-06","difficulty":"Medium","title":"Flatten a Multi-Level Linked List","subsection":"Linked Lists"},{"course":"coding-patterns","slug":["fast-and-slow-pointers","introduction-to-fast-and-slow-pointers"],"id":"fast-and-slow-pointers/introduction-to-fast-and-slow-pointers","chapter":"04-00","difficulty":"Medium","title":"Introduction to Fast and Slow Pointers","subsection":"Fast And Slow Pointers"},{"course":"coding-patterns","slug":["fast-and-slow-pointers","linked-list-loop"],"id":"fast-and-slow-pointers/linked-list-loop","chapter":"04-01","difficulty":"Medium","title":"Linked List Loop","subsection":"Fast And Slow Pointers"},{"course":"coding-patterns","slug":["fast-and-slow-pointers","linked-list-midpoint"],"id":"fast-and-slow-pointers/linked-list-midpoint","chapter":"04-02","difficulty":"Medium","title":"Linked List Midpoint","subsection":"Fast And Slow Pointers"},{"course":"coding-patterns","slug":["fast-and-slow-pointers","happy-number"],"id":"fast-and-slow-pointers/happy-number","chapter":"04-03","difficulty":"Medium","title":"Happy Number","subsection":"Fast And Slow Pointers"},{"course":"coding-patterns","slug":["sliding-windows","introduction-to-sliding-windows"],"id":"sliding-windows/introduction-to-sliding-windows","chapter":"05-00","difficulty":"Medium","title":"Introduction to Sliding Windows","subsection":"Sliding Windows"},{"course":"coding-patterns","slug":["sliding-windows","substring-anagrams"],"id":"sliding-windows/substring-anagrams","chapter":"05-01","difficulty":"Medium","title":"Substring Anagrams","subsection":"Sliding Windows"},{"course":"coding-patterns","slug":["sliding-windows","longest-substring-with-unique-characters"],"id":"sliding-windows/longest-substring-with-unique-characters","chapter":"05-02","difficulty":"Medium","title":"Longest Substring With Unique Characters","subsection":"Sliding Windows"},{"course":"coding-patterns","slug":["sliding-windows","longest-uniform-substring-after-replacements"],"id":"sliding-windows/longest-uniform-substring-after-replacements","chapter":"05-03","difficulty":"Medium","title":"Longest Uniform Substring After Replacements","subsection":"Sliding Windows"},{"course":"coding-patterns","slug":["binary-search","introduction-to-binary-search"],"id":"binary-search/introduction-to-binary-search","chapter":"06-00","difficulty":"Medium","title":"Introduction to Binary Search","subsection":"Binary Search"},{"course":"coding-patterns","slug":["binary-search","find-the-insertion-index"],"id":"binary-search/find-the-insertion-index","chapter":"06-01","difficulty":"Medium","title":"Find the Insertion Index","subsection":"Binary Search"},{"course":"coding-patterns","slug":["binary-search","first-and-last-occurrences-of-a-number"],"id":"binary-search/first-and-last-occurrences-of-a-number","chapter":"06-02","difficulty":"Medium","title":"First and Last Occurrences of a Number","subsection":"Binary Search"},{"course":"coding-patterns","slug":["binary-search","cutting-wood"],"id":"binary-search/cutting-wood","chapter":"06-03","difficulty":"Medium","title":"Cutting Wood","subsection":"Binary Search"},{"course":"coding-patterns","slug":["binary-search","find-the-target-in-a-rotated-sorted-array"],"id":"binary-search/find-the-target-in-a-rotated-sorted-array","chapter":"06-04","difficulty":"Medium","title":"Find the Target in a Rotated Sorted Array","subsection":"Binary Search"},{"course":"coding-patterns","slug":["binary-search","find-the-median-from-two-sorted-arrays"],"id":"binary-search/find-the-median-from-two-sorted-arrays","chapter":"06-0
2815","difficulty":"Medium","title":"Find the Median From Two Sorted Arrays","subsection":"Binary Search"},{"course":"coding-patterns","slug":["binary-search","matrix-search"],"id":"binary-search/matrix-search","chapter":"06-06","difficulty":"Medium","title":"Matrix Search","subsection":"Binary Search"},{"course":"coding-patterns","slug":["binary-search","local-maxima-in-array"],"id":"binary-search/local-maxima-in-array","chapter":"06-07","difficulty":"Medium","title":"Local Maxima in Array","subsection":"Binary Search"},{"course":"coding-patterns","slug":["binary-search","weighted-random-selection"],"id":"binary-search/weighted-random-selection","chapter":"06-08","difficulty":"Medium","title":"Weighted Random Selection","subsection":"Binary Search"},{"course":"coding-patterns","slug":["stacks","introduction-to-stacks"],"id":"stacks/introduction-to-stacks","chapter":"07-00","difficulty":"Medium","title":"Introduction to Stacks","subsection":"Stacks"},{"course":"coding-patterns","slug":["stacks","valid-parenthesis-expression"],"id":"stacks/valid-parenthesis-expression","chapter":"07-01","difficulty":"Medium","title":"Valid Parenthesis Expression","subsection":"Stacks"},{"course":"coding-patterns","slug":["stacks","next-largest-number-to-the-right"],"id":"stacks/next-largest-number-to-the-right","chapter":"07-02","difficulty":"Medium","title":"Next Largest Number to the Right","subsection":"Stacks"},{"course":"coding-patterns","slug":["stacks","evaluate-expression"],"id":"stacks/evaluate-expression","chapter":"07-03","difficulty":"Medium","title":"Evaluate Expression","subsection":"Stacks"},{"course":"coding-patterns","slug":["stacks","repeated-removal-of-adjacent-duplicates"],"id":"stacks/repeated-removal-of-adjacent-duplicates","chapter":"07-04","difficulty":"Medium","title":"Repeated Removal of Adjacent Duplicates","subsection":"Stacks"},{"course":"coding-patterns","slug":["stacks","implement-a-queue-using-stacks"],"id":"stacks/implement-a-queue-using-stacks","chapter":"07-05","difficulty":"Medium","title":"Implement a Queue using Stacks","subsection":"Stacks"},{"course":"coding-patterns","slug":["stacks","maximums-of-sliding-window"],"id":"stacks/maximums-of-sliding-window","chapter":"07-06","difficulty":"Medium","title":"Maximums of Sliding Window","subsection":"Stacks"},{"course":"coding-patterns","slug":["heaps","introduction-to-heaps"],"id":"heaps/introduction-to-heaps","chapter":"08-00","difficulty":"Medium","title":"Introduction to Heaps","subsection":"Heaps"},{"course":"coding-patterns","slug":["heaps","k-most-frequent-strings"],"id":"heaps/k-most-frequent-strings","chapter":"08-01","difficulty":"Medium","title":"K Most Frequent Strings","subsection":"Heaps"},{"course":"coding-patterns","slug":["heaps","combine-sorted-linked-lists"],"id":"heaps/combine-sorted-linked-lists","chapter":"08-02","difficulty":"Medium","title":"Combine Sorted Linked Lists","subsection":"Heaps"},{"course":"coding-patterns","slug":["heaps","median-of-an-integer-stream"],"id":"heaps/median-of-an-integer-stream","chapter":"08-03","difficulty":"Medium","title":"Median of an Integer Stream","subsection":"Heaps"},{"course":"coding-patterns","slug":["heaps","sort-a-k-sorted-array"],"id":"heaps/sort-a-k-sorted-array","chapter":"08-04","difficulty":"Medium","title":"Sort a K-Sorted Array","subsection":"Heaps"},{"course":"coding-patterns","slug":["intervals","introduction-to-intervals"],"id":"intervals/introduction-to-intervals","chapter":"09-00","difficulty":"Medium","title":"Introduction to Intervals","subsection":"Intervals"},{"course":"coding-patterns","slug":["intervals","merge-overlapping-intervals"],"id":"intervals/merge-overlapping-intervals","chapter":"09-01","difficulty":"Medium","title":"Merge Overlapping Intervals","subsection":"Intervals"},{"course":"coding-patterns","slug":["intervals","identify-all-interval-overlaps"],"id":"intervals/identify-all-interval-overlaps","chapter":"09-02","difficulty":"Medium","title":"Identify All Interval Overlaps","subsection":"Intervals"},{"course":"coding-patterns","slug":["intervals","largest-overlap-of-intervals"],"id":"intervals/largest-overlap-of-intervals","chapter":"09-03","difficulty":"Medium","title":"Largest Overlap of Intervals","subsection":"Intervals"}
281,{"course":"coding-patterns","slug":["prefix-sums","introduction-to-prefix-sums"],"id":"prefix-sums/introduction-to-prefix-sums","chapter":"10-00","difficulty":"Medium","title":"Introduction to Prefix Sums","subsection":"Prefix Sums"},{"course":"coding-patterns","slug":["prefix-sums","sum-between-range"],"id":"prefix-sums/sum-between-range","chapter":"10-01","difficulty":"Medium","title":"Sum Between Range","subsection":"Prefix Sums"},{"course":"coding-patterns","slug":["prefix-sums","k-sum-subarrays"],"id":"prefix-sums/k-sum-subarrays","chapter":"10-02","difficulty":"Medium","title":"K-Sum Subarrays","subsection":"Prefix Sums"},{"course":"coding-patterns","slug":["prefix-sums","product-array-without-current-element"],"id":"prefix-sums/product-array-without-current-element","chapter":"10-03","difficulty":"Medium","title":"Product Array Without Current Element","subsection":"Prefix Sums"},{"course":"coding-patterns","slug":["trees","introduction-to-trees"],"id":"trees/introduction-to-trees","chapter":"11-00","difficulty":"Medium","title":"Introduction to Trees","subsection":"Trees"},{"course":"coding-patterns","slug":["trees","invert-binary-tree"],"id":"trees/invert-binary-tree","chapter":"11-01","difficulty":"Medium","title":"Invert Binary Tree","subsection":"Trees"},{"course":"coding-patterns","slug":["trees","balanced-binary-tree-validation"],"id":"trees/balanced-binary-tree-validation","chapter":"11-02","difficulty":"Medium","title":"Balanced Binary Tree Validation","subsection":"Trees"},{"course":"coding-patterns","slug":["trees","rightmost-nodes-of-a-binary-tree"],"id":"trees/rightmost-nodes-of-a-binary-tree","chapter":"11-03","difficulty":"Medium","title":"Rightmost Nodes of a Binary Tree","subsection":"Trees"},{"course":"coding-patterns","slug":["trees","widest-binary-tree-level"],"id":"trees/widest-binary-tree-level","chapter":"11-04","difficulty":"Medium","title":"Widest Binary Tree Level","subsection":"Trees"},{"course":"coding-patterns","slug":["trees","binary-search-tree-validation"],"id":"trees/binary-search-tree-validation","chapter":"11-05","difficulty":"Medium","title":"Binary Search Tree Validation","subsection":"Trees"},{"course":"coding-patterns","slug":["trees","lowest-common-ancestor"],"id":"trees/lowest-common-ancestor","chapter":"11-06","difficulty":"Medium","title":"Lowest Common Ancestor","subsection":"Trees"},{"course":"coding-patterns","slug":["trees","build-binary-tree-from-preorder-and-inorder-traversals"],"id":"trees/build-binary-tree-from-preorder-and-inorder-traversals","chapter":"11-07","difficulty":"Medium","title":"Build Binary Tree From Preorder and Inorder Traversals","subsection":"Trees"},{"course":"coding-patterns","slug":["trees","maximum-sum-of-a-continuous-path-in-a-binary-tree"],"id":"trees/maximum-sum-of-a-continuous-path-in-a-binary-tree","chapter":"11-08","difficulty":"Medium","title":"Maximum Sum of a Continuous Path in a Binary Tree","subsection":"Trees"},{"course":"coding-patterns","slug":["trees","binary-tree-symmetry"],"id":"trees/binary-tree-symmetry","chapter":"11-09","difficulty":"Medium","title":"Binary Tree Symmetry","subsection":"Trees"},{"course":"coding-patterns","slug":["trees","binary-tree-columns"],"id":"trees/binary-tree-columns","chapter":"11-10","difficulty":"Medium","title":"Binary Tree Columns","subsection":"Trees"},{"course":"coding-patterns","slug":["trees","kth-smallest-number-in-a-binary-search-tree"],"id":"trees/kth-smallest-number-in-a-binary-search-tree","chapter":"11-11","difficulty":"Medium","title":"Kth Smallest Number in a Binary Search Tree","subsection":"Trees"},{"course":"coding-patterns","slug":["trees","serialize-and-deserialize-a-binary-tree"],"id":"trees/serialize-and-deserialize-a-binary-tree","chapter":"11-12","difficulty":"Medium","title":"Serialize and Deserialize a Binary Tree","subsection":"Trees"},{"course":"coding-patterns","slug":["tries","introduction-to-tries"],"id":"tries/introduction-to-tries","chapter":"12-00","difficulty":"Medium","title":"Introduction to Tries","subsection":"Tries"},{"course":"coding-patterns","slug":["tries","design-a-trie"],"id":"tries/design-a-trie","chapter":"12-01","difficulty":"Medium","title":"Design a Trie","subsection":"Tries"}
281,{"course":"coding-patterns","slug":["tries","insert-and-search-words-with-wildcards"],"id":"tries/insert-and-search-words-with-wildcards","chapter":"12-02","difficulty":"Medium","title":"Insert and Search Words with Wildcards","subsection":"Tries"},{"course":"coding-patterns","slug":["tries","find-all-words-on-a-board"],"id":"tries/find-all-words-on-a-board","chapter":"12-03","difficulty":"Medium","title":"Find All Words on a Board","subsection":"Tries"},{"course":"coding-patterns","slug":["graphs","introduction-to-graphs"],"id":"graphs/introduction-to-graphs","chapter":"13-00","difficulty":"Medium","title":"Introduction to Graphs","subsection":"Graphs"},{"course":"coding-patterns","slug":["graphs","graph-deep-copy"],"id":"graphs/graph-deep-copy","chapter":"13-01","difficulty":"Medium","title":"Graph Deep Copy","subsection":"Graphs"},{"course":"coding-patterns","slug":["graphs","count-islands"],"id":"graphs/count-islands","chapter":"13-02","difficulty":"Medium","title":"Count Islands","subsection":"Graphs"},{"course":"coding-patterns","slug":["graphs","matrix-infection"],"id":"graphs/matrix-infection","chapter":"13-03","difficulty":"Medium","title":"Matrix Infection","subsection":"Graphs"},{"course":"coding-patterns","slug":["graphs","bipartite-graph-validation"],"id":"graphs/bipartite-graph-validation","chapter":"13-04","difficulty":"Medium","title":"Bipartite Graph Validation","subsection":"Graphs"},{"course":"coding-patterns","slug":["graphs","longest-increasing-path"],"id":"graphs/longest-increasing-path","chapter":"13-05","difficulty":"Medium","title":"Longest Increasing Path","subsection":"Graphs"},{"course":"coding-patterns","slug":["graphs","shortest-transformation-sequence"],"id":"graphs/shortest-transformation-sequence","chapter":"13-06","difficulty":"Medium","title":"Shortest Transformation Sequence","subsection":"Graphs"},{"course":"coding-patterns","slug":["graphs","merging-communities"],"id":"graphs/merging-communities","chapter":"13-07","difficulty":"Medium","title":"Merging Communities","subsection":"Graphs"},{"course":"coding-patterns","slug":["graphs","prerequisites"],"id":"graphs/prerequisites","chapter":"13-08","difficulty":"Medium","title":"Prerequisites","subsection":"Graphs"},{"course":"coding-patterns","slug":["graphs","shortest-path"],"id":"graphs/shortest-path","chapter":"13-09","difficulty":"Medium","title":"Shortest Path","subsection":"Graphs"},{"course":"coding-patterns","slug":["graphs","connect-the-dots"],"id":"graphs/connect-the-dots","chapter":"13-10","difficulty":"Medium","title":"Connect the Dots","subsection":"Graphs"},{"course":"coding-patterns","slug":["backtracking","introduction-to-backtracking"],"id":"backtracking/introduction-to-backtracking","chapter":"14-00","difficulty":"Medium","title":"Introduction to Backtracking","subsection":"Backtracking"},{"course":"coding-patterns","slug":["backtracking","find-all-permutations"],"id":"backtracking/find-all-permutations","chapter":"14-01","difficulty":"Medium","title":"Find All Permutations","subsection":"Backtracking"},{"course":"coding-patterns","slug":["backtracking","find-all-subsets"],"id":"backtracking/find-all-subsets","chapter":"14-02","difficulty":"Medium","title":"Find All Subsets","subsection":"Backtracking"},{"course":"coding-patterns","slug":["backtracking","n-queens"],"id":"backtracking/n-queens","chapter":"14-03","difficulty":"Medium","title":"N Queens","subsection":"Backtracking"},{"course":"coding-patterns","slug":["backtracking","combinations-of-a-sum"],"id":"backtracking/combinations-of-a-sum","chapter":"14-04","difficulty":"Medium","title":"Combinations of a Sum","subsection":"Backtracking"},{"course":"coding-patterns","slug":["backtracking","phone-keypad-combinations"],"id":"backtracking/phone-keypad-combinations","chapter":"14-05","difficulty":"Medium","title":"Phone Keypad Combinations","subsection":"Backtracking"},{"course":"coding-patterns","slug":["dynamic-programming","introduction-to-dynamic-programming"],"id":"dynamic-programming/introduction-to-dynamic-programming","chapter":"15-00","difficulty":"Medium","title":"Introduction to Dynamic Programming","subsection":"Dynamic Programming"}
281,{"course":"coding-patterns","slug":["dynamic-programming","climbing-stairs"],"id":"dynamic-programming/climbing-stairs","chapter":"15-01","difficulty":"Medium","title":"Climbing Stairs","subsection":"Dynamic Programming"},{"course":"coding-patterns","slug":["dynamic-programming","minimum-coin-combination"],"id":"dynamic-programming/minimum-coin-combination","chapter":"15-02","difficulty":"Medium","title":"Minimum Coin Combination","subsection":"Dynamic Programming"},{"course":"coding-patterns","slug":["dynamic-programming","matrix-pathways"],"id":"dynamic-programming/matrix-pathways","chapter":"15-03","difficulty":"Medium","title":"Matrix Pathways","subsection":"Dynamic Programming"},{"course":"coding-patterns","slug":["dynamic-programming","neighborhood-burglary"],"id":"dynamic-programming/neighborhood-burglary","chapter":"15-04","difficulty":"Medium","title":"Neighborhood Burglary","subsection":"Dynamic Programming"},{"course":"coding-patterns","slug":["dynamic-programming","longest-common-subsequence"],"id":"dynamic-programming/longest-common-subsequence","chapter":"15-05","difficulty":"Medium","title":"Longest Common Subsequence","subsection":"Dynamic Programming"},{"course":"coding-patterns","slug":["dynamic-programming","longest-palindrome-in-a-string"],"id":"dynamic-programming/longest-palindrome-in-a-string","chapter":"15-06","difficulty":"Medium","title":"Longest Palindrome in a String","subsection":"Dynamic Programming"},{"course":"coding-patterns","slug":["dynamic-programming","maximum-subarray-sum"],"id":"dynamic-programming/maximum-subarray-sum","chapter":"15-07","difficulty":"Medium","title":"Maximum Subarray Sum","subsection":"Dynamic Programming"},{"course":"coding-patterns","slug":["dynamic-programming","01-knapsack"],"id":"dynamic-programming/01-knapsack","chapter":"15-08","difficulty":"Medium","title":"0/1 Knapsack","subsection":"Dynamic Programming"},{"course":"coding-patterns","slug":["dynamic-programming","largest-square-in-a-matrix"],"id":"dynamic-programming/largest-square-in-a-matrix","chapter":"15-09","difficulty":"Medium","title":"Largest Square in a Matrix","subsection":"Dynamic Programming"},{"course":"coding-patterns","slug":["greedy","introduction-to-greedy-algorithms"],"id":"greedy/introduction-to-greedy-algorithms","chapter":"16-00","difficulty":"Medium","title":"Introduction to Greedy Algorithms","subsection":"Greedy"},{"course":"coding-patterns","slug":["greedy","jump-to-the-end"],"id":"greedy/jump-to-the-end","chapter":"16-01","difficulty":"Medium","title":"Jump to the End","subsection":"Greedy"},{"course":"coding-patterns","slug":["greedy","gas-stations"],"id":"greedy/gas-stations","chapter":"16-02","difficulty":"Medium","title":"Gas Stations","subsection":"Greedy"},{"course":"coding-patterns","slug":["greedy","candies"],"id":"greedy/candies","chapter":"16-03","difficulty":"Medium","title":"Candies","subsection":"Greedy"},{"course":"coding-patterns","slug":["sort-and-search","introduction-to-sort-and-search"],"id":"sort-and-search/introduction-to-sort-and-search","chapter":"17-00","difficulty":"Medium","title":"Introduction to Sort and Search","subsection":"Sort And Search"},{"course":"coding-patterns","slug":["sort-and-search","sort-linked-list"],"id":"sort-and-search/sort-linked-list","chapter":"17-01","difficulty":"Medium","title":"Sort Linked List","subsection":"Sort And Search"},{"course":"coding-patterns","slug":["sort-and-search","sort-array"],"id":"sort-and-search/sort-array","chapter":"17-02","difficulty":"Medium","title":"Sort Array","subsection":"Sort And Search"},{"course":"coding-patterns","slug":["sort-and-search","kth-largest-integer"],"id":"sort-and-search/kth-largest-integer","chapter":"17-03","difficulty":"Medium","title":"Kth Largest Integer","subsection":"Sort And Search"},{"course":"coding-patterns","slug":["sort-and-search","dutch-national-flag"],"id":"sort-and-search/dutch-national-flag","chapter":"17-04","difficulty":"Medium","title":"Dutch National Flag","subsection":"Sort And Search"},{"course":"coding-patterns","slug":["bit-manipulation","introduction-to-bit-manipulation"],"id":"bit-manipulation/introduction-to-bit-manipulation","chapter":"18-00","difficulty":"Medium","title":"Introduction to Bit Manipulation","subsection":"Bit Manipulation"}
281,{"course":"coding-patterns","slug":["bit-manipulation","hamming-weights-of-integers"],"id":"bit-manipulation/hamming-weights-of-integers","chapter":"18-01","difficulty":"Medium","title":"Hamming Weights of Integers","subsection":"Bit Manipulation"},{"course":"coding-patterns","slug":["bit-manipulation","lonely-integer"],"id":"bit-manipulation/lonely-integer","chapter":"18-02","difficulty":"Medium","title":"Lonely Integer","subsection":"Bit Manipulation"},{"course":"coding-patterns","slug":["bit-manipulation","swap-odd-and-even-bits"],"id":"bit-manipulation/swap-odd-and-even-bits","chapter":"18-03","difficulty":"Medium","title":"Swap Odd and Even Bits","subsection":"Bit Manipulation"},{"course":"coding-patterns","slug":["math-and-geometry","introduction-to-math-and-geometry"],"id":"math-and-geometry/introduction-to-math-and-geometry","chapter":"19-00","difficulty":"Medium","title":"Introduction to Math and Geometry","subsection":"Math And Geometry"},{"course":"coding-patterns","slug":["math-and-geometry","spiral-traversal"],"id":"math-and-geometry/spiral-traversal","chapter":"19-01","difficulty":"Medium","title":"Spiral Traversal","subsection":"Math And Geometry"},{"course":"coding-patterns","slug":["math-and-geometry","reverse-32-bit-integer"],"id":"math-and-geometry/reverse-32-bit-integer","chapter":"19-02","difficulty":"Medium","title":"Reverse 32-Bit Integer","subsection":"Math And Geometry"},{"course":"coding-patterns","slug":["math-and-geometry","maximum-collinear-points"],"id":"math-and-geometry/maximum-collinear-points","chapter":"19-03","difficulty":"Medium","title":"Maximum Collinear Points","subsection":"Math And Geometry"},{"course":"coding-patterns","slug":["math-and-geometry","the-josephus-problem"],"id":"math-and-geometry/the-josephus-problem","chapter":"19-04","difficulty":"Medium","title":"The Josephus Problem","subsection":"Math And Geometry"},{"course":"coding-patterns","slug":["math-and-geometry","triangle-numbers"],"id":"math-and-geometry/triangle-numbers","chapter":"19-05","difficulty":"Medium","title":"Triangle Numbers","subsection":"Math And Geometry"}],"courseMetadata":{"title":"Coding Interview Patterns","authors":"Alex Xu","claimCodes":["annual","lifetime","promo"],"key":"coding-patterns","defaultChapter":"/courses/coding-patterns/two-pointers/introduction-to-two-pointers","rootPath":"/courses/coding-patterns","lessons":101,"students":10000,"showChapter":false,"lastModified":"2024.01.28"}},"__N_SSG":true},"page":"/courses/[course]","query":{"course":"coding-patterns"},"buildId":"build-TfctsWXpff2fKS","isFallback":false,"gsp":true,"scriptLoader":[]}</script>
281<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"8f44010a915843e49eec3e7733e28c77","spa":2}' crossorigin="anonymous"></script>
281
282</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.