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.