PageSourceSearch

https://www.tutorialspoint.com/topic/depth-first-search

html tutorialspoint.com collected 2026-10-01 07:03:35 UTC 124,880 bytes, 1,634 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3<head>
4    <meta charset="UTF-8">
5    <meta name="viewport" content="width=device-width, initial-scale=1.0">
6    
7    <!-- Primary Meta Tags -->
8    <title>Depth-First Search Coding Practice Problems  | TutorialsPoint</title>
9    <meta name="title" content="Depth-First Search Coding Practice Problems  | TutorialsPoint">
10    <meta name="description" content="Practice 0+ Depth-First Search coding problems. Master Depth-First Search with problems sorted by difficulty: Easy (0), Medium (0), Hard (0). Free coding practice with solutions.">
11    <meta name="keywords" content="Depth-First Search coding problems, Depth-First Search practice problems, Depth-First Search programming exercises, Depth-First Search solutions, coding practice, data structures, algorithms, Depth-First Search tutorials">
12    <meta name="author" content="TutorialsPoint">
13    <meta name="robots" content="index, follow">
14    
15    <!-- Canonical URL -->
16    <link rel="canonical" href="https://www.tutorialspoint.com/topic/depth-first-search">
17    
18    <!-- Pagination SEO -->
19            
20    <!-- Open Graph / Facebook -->
21    <meta property="og:type" content="website">
22    <meta property="og:url" content="https://www.tutorialspoint.com/topic/depth-first-search">
23    <meta property="og:title" content="Depth-First Search Coding Practice Problems  | TutorialsPoint">
24    <meta property="og:description" content="Practice 0+ Depth-First Search coding problems. Master Depth-First Search with problems sorted by difficulty: Easy (0), Medium (0), Hard (0). Free coding practice with solutions.">
25    <meta property="og:image" content="https://www.tutorialspoint.com/practice/topic-og-image.php?id=depth-first-search&name=Depth-First+Search&total=0&easy=0&medium=0&hard=0">
26    <meta property="og:site_name" content="TutorialsPoint">
27    <meta property="og:locale" content="en_US">
28    
29    <!-- Twitter -->
30    <meta name="twitter:card" content="summary_large_image">
31    <meta name="twitter:url" content="https://www.tutorialspoint.com/topic/depth-first-search">
32    <meta name="twitter:title" content="Depth-First Search Coding Practice Problems  | TutorialsPoint">
33    <meta name="twitter:description" content="Practice 0+ Depth-First Search coding problems. Master Depth-First Search with problems sorted by difficulty: Easy (0), Medium (0), Hard (0). Free coding practice with solutions.">
34    <meta name="twitter:image" content="https://www.tutorialspoint.com/practice/topic-og-image.php?id=depth-first-search&name=Depth-First+Search&total=0&easy=0&medium=0&hard=0">
35    <meta name="twitter:site" content="@tutaborad">
36    
37    <!-- Structured Data - BreadcrumbList -->
38    
38<script type="application/ld+json">
39    {
40        "@context": "https://schema.org",
41        "@type": "BreadcrumbList",
42        "itemListElement": [
43            {
44                "@type": "ListItem",
45                "position": 1,
46                "name": "Home",
47                "item": "https://www.tutorialspoint.com/"
48            },
49            {
50                "@type": "ListItem",
51                "position": 2,
52                "name": "Practice",
53                "item": "https://www.tutorialspoint.com/practice/"
54            },
55            {
56                "@type": "ListItem",
57                "position": 3,
58                "name": "Depth-First Search Practice Problems",
59                "item": "https://www.tutorialspoint.com/topic/depth-first-search"
60            }
61        ]
62    }
63    </script>
63
64    
65    <!-- Structured Data - ItemList for Problems -->
66    
66<script type="application/ld+json">
67    {
68        "@context": "https://schema.org",
69        "@type": "ItemList",
70        "name": "Depth-First Search Coding Problems",
71        "description": "Practice 0+ Depth-First Search coding problems. Master Depth-First Search with problems sorted by difficulty: Easy (0), Medium (0), Hard (0). Free coding practice with solutions.",
72        "numberOfItems": 0,
73        "itemListElement": [
74                        {
75                "@type": "ListItem",
76                "position": 1,
77                "url": "https://www.tutorialspoint.com/practice/add-one-row-to-tree.htm",
78                "name": "Add One Row to Tree"
79            },                        {
80                "@type": "ListItem",
81                "position": 2,
82                "url": "https://www.tutorialspoint.com/practice/alien-dictionary.htm",
83                "name": "Alien Dictionary"
84            },                        {
85                "@type": "ListItem",
86                "position": 3,
87                "url": "https://www.tutorialspoint.com/practice/all-ancestors-of-a-node-in-a-directed-acyclic-graph.htm",
88                "name": "All Ancestors of a Node in a Directed Acyclic Graph"
89            },                        {
90                "@type": "ListItem",
91                "position": 4,
92                "url": "https://www.tutorialspoint.com/practice/all-elements-in-two-binary-search-trees.htm",
93                "name": "All Elements in Two Binary Search Trees"
94            },                        {
95                "@type": "ListItem",
96                "position": 5,
97                "url": "https://www.tutorialspoint.com/practice/all-nodes-distance-k-in-binary-tree.htm",
98                "name": "All Nodes Distance K in Binary Tree"
99            },                        {
100                "@type": "ListItem",
101                "position": 6,
102                "url": "https://www.tutorialspoint.com/practice/all-paths-from-source-to-target.htm",
103                "name": "All Paths From Source to Target"
104            },                        {
105                "@type": "ListItem",
106                "position": 7,
107                "url": "https://www.tutorialspoint.com/practice/amount-of-time-for-binary-tree-to-be-infected.htm",
108                "name": "Amount of Time for Binary Tree to Be Infected"
109            },                        {
110                "@type": "ListItem",
111                "position": 8,
112                "url": "https://www.tutorialspoint.com/practice/apply-substitutions.htm",
113                "name": "Apply Substitutions"
114            },                        {
115                "@type": "ListItem",
116                "position": 9,
117                "url": "https://www.tutorialspoint.com/practice/array-nesting.htm",
118                "name": "Array Nesting"
119            },                        {
120                "@type": "ListItem",
121                "position": 10,
122                "url": "https://www.tutorialspoint.com/practice/average-of-levels-in-binary-tree.htm",
123                "name": "Average of Levels in Binary Tree"
124            },                        {
125                "@type": "ListItem",
126                "position": 11,
127                "url": "https://www.tutorialspoint.com/practice/balance-a-binary-search-tree.htm",
128                "name": "Balance a Binary Search Tree"
129            },                        {
130                "@type": "ListItem",
131                "position": 12,
132                "url": "https://www.tutorialspoint.com/practice/balanced-binary-tree.htm",
133                "name": "Balanced Binary Tree"
134            },                        {
135                "@type": "ListItem",
136                "position": 13,
137                "url": "https://www.tutorialspoint.com/practice/battleships-in-a-board.htm",
138                "name": "Battleships in a Board"
139            },                        {
140                "@type": "ListItem",
141                "position": 14,
142                "url": "https://www.tutorialspoint.com/practice/binary-search-tree-to-greater-sum-tree.htm",
143                "name": "Binary Search Tree to Greater Sum Tree"
144            },                        {
145                "@type": "ListItem",
146                "position": 15,
147                "url": "https://www.tutorialspoint.com/practice/binary-tree-cameras.htm",
148                "name": "Binary Tree Cameras"
149            }                    ]
150    }
151    </script>
151
152    
153    <!-- Structured Data - Organization -->
154    
154<script type="application/ld+json">
155    {
156        "@context": "https://schema.org",
157        "@type": "Organization",
158        "name": "TutorialsPoint",
159        "url": "https://www.tutorialspoint.com",
160        "logo": "https://www.tutorialspoint.com/images/logo.png",
161        "sameAs": [
162            "https://www.facebook.com/tutorialspointindia",
163            "https://x.com/tutorialspoint",
164            "https://www.linkedin.com/company/tutorialspoint/",
165            "https://www.youtube.com/channel/UCVLbzhxVTiTLiVKeGV7WEBg"
166        ]
167    }
168    </script>
168
169    
170    <!-- Structured Data - WebPage -->
171    
171<script type="application/ld+json">
172    {
173        "@context": "https://schema.org",
174        "@type": "WebPage",
175        "name": "Depth-First Search Coding Practice Problems  | TutorialsPoint",
176        "description": "Practice 0+ Depth-First Search coding problems. Master Depth-First Search with problems sorted by difficulty: Easy (0), Medium (0), Hard (0). Free coding practice with solutions.",
177        "url": "https://www.tutorialspoint.com/topic/depth-first-search",
178        "inLanguage": "en-US",
179        "isPartOf": {
180            "@type": "WebSite",
181            "name": "TutorialsPoint",
182            "url": "https://www.tutorialspoint.com"
183        },
184        "about": {
185            "@type": "Thing",
186            "name": "Depth-First Search Coding Practice"
187        },
188        "mainEntity": {
189            "@type": "ItemList",
190            "numberOfItems": 0        }
191    }
192    </script>
192
193
194    <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap" rel="stylesheet">
195    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css">
196    
196<script src="https://kit.fontawesome.com/d10db5a94a.js" crossorigin="anonymous"></script>
196
197    <link rel="stylesheet" href="/practice/css/practice-common.css?v4">
198    <style>
199        /* Page-specific overrides if needed */
200        #topicProblemsSection {
201            scroll-margin-top: 80px;
202        }
203    </style>
204</head>
205<body>
206    <!-- Top Bar -->
207    <div class="tp-topbar">
208        <div class="tp-topbar-inner">
209            <div class="tp-topbar-left">
210                <a href="/" class="tp-topbar-link">
211                    <i class="fa-sharp fa-light fa-house"></i>
212                    <span>Home</span>
213                </a>
214                <a href="/whiteboard.htm" class="tp-topbar-link">
215                    <i class="fa-sharp fa-light fa-chalkboard"></i>
216                    <span>Whiteboard</span>
217                </a>
218                <a href="/online_graphing_calculator.htm" class="tp-topbar-link">
219                    <i class="fa-sharp fa-light fa-calculator"></i>
220                    <span>Graphing Calculator</span>
221                </a>
222                <a href="/codingground.htm" class="tp-topbar-link">
223                    <i class="fa-sharp fa-light fa-code"></i>
224                    <span>Online Compilers</span>
225                </a>
226                <a href="/articles/index.php" class="tp-topbar-link">
227                    <i class="fa-sharp fa-light fa-pen-to-square"></i>
228                    <span>Articles</span>
229                </a>
230                <a href="/online_dev_tools.htm" class="tp-topbar-link">
231                    <i class="fa-sharp fa-light fa-gear"></i>
232                    <span>Tools</span>
233                </a>
234            </div>
235            <div class="tp-topbar-right">
236                <button class="tp-theme-toggle" onclick="toggleTheme()" title="Toggle Dark/Light Theme">
237                    <i class="fa-sharp fa-light fa-moon"></i>
238                </button>
239                <a href="https://www.facebook.com/tutorialspointindia" class="tp-social-link tp-social-fb" title="Facebook" rel="nofollow" target="_blank">
240                    <i class="fa-brands fa-facebook-f"></i>
241                </a>
242                <a href="https://x.com/tutorialspoint" class="tp-social-link tp-social-x" title="X" rel="nofollow" target="_blank">
243                    <i class="fa-brands fa-x-twitter"></i>
244                </a>
245                <a href="https://www.youtube.com/channel/UCVLbzhxVTiTLiVKeGV7WEBg" class="tp-social-link tp-social-yt" title="YouTube" rel="nofollow" target="_blank">
246                    <i class="fa-brands fa-youtube"></i>
247                </a>
248                <a href="https://www.linkedin.com/company/tutorialspoint/" class="tp-social-link tp-social-li" title="LinkedIn" rel="nofollow" target="_blank">
249                    <i class="fa-brands fa-linkedin-in"></i>
250                </a>
251                <a href="https://www.instagram.com/tutorialspoint_/" class="tp-social-link tp-social-ig" title="Instagram" rel="nofollow" target="_blank">
252                    <i class="fa-brands fa-instagram"></i>
253                </a>
254            </div>
255        </div>
256    </div>
257    <!-- TutorialsPoint Header -->
258    <header class="tp-header">
259        <div class="tp-header-inner">
260            <div class="tp-header-left">
261                <a href="https://www.tutorialspoint.com" title="Tutorials point">
262                    <svg class="tp-logo-desktop" xmlns="http://www.w3.org/2000/svg" width="226" height="42" viewBox="0 0 226 42" fill="none">
263                        <path d="M76.2136 13.8408V27.7576H72.3845V26.1045C71.3229 27.3193 69.7701 27.9689 68.0642 27.9689C64.5731 27.9689 62.1172 26.0042 62.1172 21.7103V13.8461H66.1523V21.1135C66.1523 23.4426 67.1874 24.4778 68.9726 24.4778C70.7577 24.4778 72.1785 23.2895 72.1785 20.7279V13.8461H76.2136V13.8408Z" fill="#40A944"></path>
264                        <path d="M89.1484 20.7959C89.1484 16.6077 92.3807 13.6289 96.8066 13.6289C101.233 13.6289 104.438 16.6024 104.438 20.7959C104.438 24.9894 101.233 27.9629 96.8066 27.9629C92.3807 27.9629 89.1484 24.9894 89.1484 20.7959ZM100.351 20.7959C100.351 18.3928 98.8242 16.9404 96.8066 16.9404C94.7891 16.9404 93.2363 18.3876 93.2363 20.7959C93.2363 23.2043 94.7891 24.6514 96.8066 24.6514C98.8242 24.6514 100.351 23.2043 100.351 20.7959Z" fill="#40A944"></path>
265                        <path d="M115.28 13.6348V17.3582C114.942 17.3318 114.683 17.3054 114.377 17.3054C112.153 17.3054 110.68 18.5202 110.68 21.1873V27.7575H106.645V13.8407H110.5V15.6787C111.482 14.3319 113.141 13.6348 115.285 13.6348H115.28Z" fill="#40A944"></path>
266                        <path d="M117.695 13.8408H121.73V27.7576H117.695V13.8408Z" fill="#40A944"></path>
267                        <path d="M139.119 13.8402V27.757H135.263V26.1514C134.255 27.3661 132.781 27.9629 130.917 27.9629C126.987 27.9629 123.961 25.169 123.961 20.7959C123.961 16.4228 126.987 13.6289 130.917 13.6289C132.623 13.6289 134.07 14.1729 135.079 15.3084V13.8349H139.114L139.119 13.8402ZM135.163 20.7959C135.163 18.3928 133.61 16.9404 131.619 16.9404C129.628 16.9404 128.049 18.3876 128.049 20.7959C128.049 23.2043 129.602 24.6514 131.619 24.6514C133.637 24.6514 135.163 23.2043 135.163 20.7959Z" fill="#40A944"></path>
268                        <path d="M146.402 8.5625H142.367V27.7555H146.402V8.5625Z" fill="#40A944"></path>
269                        <path d="M149.141 26.4622L150.487 23.5679C151.729 24.3707 153.619 24.9147 155.325 24.9147C157.19 24.9147 157.887 24.4235 157.887 23.6471C157.887 21.3708 149.479 23.7 149.479 18.1385C149.479 15.4978 151.861 13.6387 155.917 13.6387C157.829 13.6387 159.952 14.077 161.272 14.8534L159.925 17.7266C158.552 16.9502 157.184 16.6914 155.917 16.6914C154.105 16.6914 153.329 17.2618 153.329 17.9854C153.329 20.3673 161.737 18.0646 161.737 23.5468C161.737 26.1347 159.334 27.9674 155.167 27.9674C152.811 27.9674 150.435 27.3231 149.141 26.4675V26.4622Z" fill="#40A944"></path>
270                        <path d="M178.226 20.9541C178.226 25.0948 175.332 27.8835 171.45 27.8835C169.279 27.8835 167.415 26.9539 166.279 25.1952V32.7742H164.441V14.1515H166.2V16.8398C167.315 15.0283 169.2 14.0459 171.45 14.0459C175.332 14.0459 178.226 16.8398 178.226 20.9541ZM176.388 20.9541C176.388 17.8011 174.191 15.6515 171.318 15.6515C168.445 15.6515 166.248 17.7958 166.248 20.9541C166.248 24.1125 168.418 26.2568 171.318 26.2568C174.218 26.2568 176.388 24.1336 176.388 20.9541Z" fill="var(--clr-text)"></path>
271                        <path d="M180.129 20.9541C180.129 16.919 183.076 14.0459 187.058 14.0459C191.041 14.0459 193.966 16.919 193.966 20.9541C193.966 24.9892 191.046 27.8835 187.058 27.8835C183.071 27.8835 180.129 24.9892 180.129 20.9541ZM192.102 20.9541C192.102 17.7747 189.953 15.6515 187.058 15.6515C184.164 15.6515 181.988 17.7747 181.988 20.9541C181.988 24.1336 184.159 26.2568 187.058 26.2568C189.958 26.2568 192.102 24.1336 192.102 20.9541Z" fill="var(--clr-text)"></path>
272                        <path d="M196.754 14.1523H198.592V27.7575H196.754V14.1523Z" fill="var(--clr-text)"></path>
273                        <path d="M215.288 19.8661V27.7567H213.45V20.051C213.45 17.1778 211.95 15.7043 209.362 15.7043C206.442 15.7043 204.604 17.5159 204.604 20.6161V27.7567H202.766V14.1515H204.524V16.6602C205.507 15.0071 207.345 14.0459 209.695 14.0459C213.006 14.0459 215.283 15.9578 215.283 19.8661H215.288Z" fill="var(--clr-text)"></path>
274                        <path d="M59.3346 24.2389C58.8699 24.5769 58.2731 24.7565 57.6815 24.7565C56.5935 24.7565 55.9756 24.1122 55.9756 22.9185V17.2568H59.4139V14.1512H55.9756V10.2852L51.9405 11.2411V14.1512H50.2188V17.2568H51.9405V22.9714C51.9405 26.2829 53.8313 27.9624 57.1375 27.9624C58.3523 27.9624 59.567 27.6772 60.3962 27.0804L59.3346 24.2336V24.2389Z" fill="#40A944"></path>
275                        <path d="M87.2878 24.2389C86.823 24.5769 86.2262 24.7565 85.6347 24.7565C84.5467 24.7565 83.9287 24.1122 83.9287 22.9185V17.2568H87.367V14.1512H83.9287V10.2852L79.8936 11.2411V14.1512H78.1719V17.2568H79.8936V22.9714C79.8936 26.2829 81.7844 27.9624 85.0907 27.9624C86.3054 27.9624 87.5202 27.6772 88.3494 27.0804L87.2878 24.2336V24.2389Z" fill="#40A944"></path>
276                        <path d="M119.713 11.8222C120.827 11.8222 121.73 10.9189 121.73 9.80465C121.73 8.69039 120.827 7.78711 119.713 7.78711C118.599 7.78711 117.695 8.69039 117.695 9.80465C117.695 10.9189 118.599 11.8222 119.713 11.8222Z" fill="#40A944"></path>
277                        <path d="M197.674 11.8222C198.788 11.8222 199.691 10.9189 199.691 9.80465C199.691 8.69039 198.788 7.78711 197.674 7.78711C196.56 7.78711 195.656 8.69039 195.656 9.80465C195.656 10.9189 196.56 11.8222 197.674 11.8222Z" fill="#40A944"></path>
278                        <path d="M225.15 25.6071C224.633 26.0719 223.909 26.3043 223.133 26.3043C221.606 26.3043 220.803 25.4223 220.803 23.822V15.699H224.918V14.1462H220.803V10.2168L218.965 11.1728V14.1462H217.043V15.699H218.965V23.9223C218.965 26.4311 220.386 27.8782 222.948 27.8782C224.009 27.8782 225.097 27.5666 225.794 26.9222L225.15 25.6019V25.6071Z" fill="var(--clr-text)"></path>
279                        <path d="M27.3002 39.5829C33.1626 39.4561 38.4072 35.87 40.8842 30.5568C42.3208 27.4829 43.0444 24.013 42.8542 20.3582C42.2785 9.30395 33.1521 0.394029 22.082 0.0718569C9.95038 -0.282005 0 9.44655 0 21.5043C0 30.7099 5.80439 38.5583 13.9485 41.6004C13.1721 40.7871 12.6017 39.7941 12.2531 38.6217C11.7091 36.8101 11.725 34.6711 12.2954 32.2046L15.2319 19.8881H9.16343L10.1564 15.5837L10.4257 14.4429H16.5259L16.6368 13.9411L18.0628 7.76175L26.9727 6.05582L25.1506 13.9411L23.8408 19.8881L20.8197 33.2609C20.3602 35.2626 20.5398 36.8101 21.3743 37.8928C21.3743 37.8928 22.6207 39.6832 27.3002 39.5829ZM29.4128 13.4605C31.8951 12.9904 34.0288 15.1242 33.5588 17.6065C33.2947 18.9902 32.1803 20.1099 30.7912 20.374C28.3089 20.8441 26.1752 18.7103 26.6453 16.228C26.9093 14.8443 28.0237 13.7246 29.4128 13.4605Z" fill="#40A944"></path>
280                    </svg>
281                    <svg class="tp-logo-mobile" xmlns="http://www.w3.org/2000/svg" width="43" height="42" viewBox="0 0 43 42" fill="none">
282                        <path d="M27.3002 39.5829C33.1626 39.4561 38.4072 35.87 40.8842 30.5568C42.3208 27.4829 43.0444 24.013 42.8542 20.3582C42.2785 9.30395 33.1521 0.394029 22.082 0.0718569C9.95038 -0.282005 0 9.44655 0 21.5043C0 30.7099 5.80439 38.5583 13.9485 41.6004C13.1721 40.7871 12.6017 39.7941 12.2531 38.6217C11.7091 36.8101 11.725 34.6711 12.2954 32.2046L15.2319 19.8881H9.16343L10.1564 15.5837L10.4257 14.4429H16.5259L16.6368 13.9411L18.0628 7.76175L26.9727 6.05582L25.1506 13.9411L23.8408 19.8881L20.8197 33.2609C20.3602 35.2626 20.5398 36.8101 21.3743 37.8928C21.3743 37.8928 22.6207 39.6832 27.3002 39.5829ZM29.4128 13.4605C31.8951 12.9904 34.0288 15.1242 33.5588 17.6065C33.2947 18.9902 32.1803 20.1099 30.7912 20.374C28.3089 20.8441 26.1752 18.7103 26.6453 16.228C26.9093 14.8443 28.0237 13.7246 29.4128 13.4605Z" fill="#40A944"></path>
283                    </svg>
284                </a>
285                <div class="tp-categories-wrapper">
286                    <button class="tp-categories-btn" onclick="toggleCategoriesDropdown()">
287                        <i class="fa-sharp fa-light fa-grid-2"></i>
288                        <span>Categories</span>
289                        <i class="fa-sharp fa-light fa-chevron-down"></i>
290                    </button>
291                    <div class="tp-categories-dropdown" id="categoriesDropdown">
292                        <button class="tp-categories-close" onclick="closeCategoriesDropdown()">
293                            <i class="fa-sharp fa-light fa-xmark"></i>
294                        </button>
295                        <div class="tp-categories-header-title">
296                            <h2>Explore <span>Categories</span></h2>
297                            <p>Find the perfect tutorial for your learning journey</p>
298                        </div>
299                        <div class="tp-categories-grid">
300                            <a href="/python_technologies_tutorials.htm" class="tp-cat-link">Python Technologies</a>
301                            <a href="/database_tutorials.htm" class="tp-cat-link">Databases</a>
302                            <a href="/computer_programming_tutorials.htm" class="tp-cat-link">Computer Programming</a>
303                            <a href="/web_development_tutorials.htm" class="tp-cat-link">Web Development</a>
304                            <a href="/java_technology_tutorials.htm" class="tp-cat-link">Java Technologies</a>
305                            <a href="/computer_science_tutorials.htm" class="tp-cat-link">Computer Science</a>
306                            <a href="/mobile_development_tutorials.htm" class="tp-cat-link">Mobile Development</a>
307                            <a href="/big_data_tutorials.htm" class="tp-cat-link">Big Data & Analytics</a>
308                            <a href="/microsoft_technologies_tutorials.htm" class="tp-cat-link">Microsoft Technologies</a>
309                            <a href="/devops_tutorials.htm" class="tp-cat-link">DevOps</a>
310                            <a href="/latest_technologies.htm" class="tp-cat-link">Latest Technologies</a>
311                            <a href="/machine_learning_tutorials.htm" class="tp-cat-link">Machine Learning</a>
312                            <a href="/digital_marketing_tutorials.htm" class="tp-cat-link">Digital Marketing</a>
313                            <a href="/software_quality_tutorials.htm" class="tp-cat-link">Software Quality</a>
314                            <a href="/management_tutorials.htm" class="tp-cat-link">Management Tutorials</a>
315                            <a href="/top-categories.htm" class="tp-cat-link-all">
316                                <i class="fa-sharp fa-light fa-grid-2"></i>
317                                View All Categories
318                            </a>
319                        </div>
320                    </div>
321                </div>
322                
323                
323<script>
324                function toggleCategoriesDropdown() {
325                    const dropdown = document.getElementById('categoriesDropdown');
326                    dropdown.classList.toggle('active');
327                }
328                
329                function closeCategoriesDropdown() {
330                    const dropdown = document.getElementById('categoriesDropdown');
331                    dropdown.classList.remove('active');
332                }
333                </script>
333
334                <div class="tp-search-wrapper">
335                    <i class="fa-sharp fa-light fa-magnifying-glass tp-search-icon"></i>
336                    <input type="text" class="tp-search-input" placeholder="Search your favourite tutorials ..." autocomplete="off">
337                </div>
338            </div>
339            <div class="tp-header-right">
340                <a class="tp-nav-link" href="/tutorialslibrary.htm">
341                    <i class="fa-sharp fa-light fa-books" style="margin-right: 6px;"></i>
342                    Tutorials
343                </a>
344                <a class="tp-nav-link" href="https://market.tutorialspoint.com/index.asp">
345                    <i class="fa-sharp fa-light fa-circle-play" style="margin-right: 6px; color: #ff0000;"></i>
346                    Courses
347                </a>
348                <a class="tp-login-btn" href="/practice/signin.php">Login</a>
349            </div>
350        </div>
351    </header>
352
353    <!-- Company Banner -->
354    <div class="tp-main-content" style="padding-top: 20px;">
355        <div class="container">
356            <div class="company-banner topic-banner-dfs">
357                <div class="company-banner-content">
358                    <div class="company-banner-logo">
359                        <i class="fa-solid fa-arrow-down-long"></i>
360                    </div>
361                    <h1 class="company-banner-title">Depth-First Search Coding Problems</h1>
362                    <p class="company-banner-subtitle">Explore graph traversal using DFS</p>
363                    <div class="company-banner-stats">
364                        <div class="company-banner-stat">
365                            <div class="company-banner-stat-value">0</div>
366                            <div class="company-banner-stat-label">Total Problems</div>
367                        </div>
368                        <div class="company-banner-stat">
369                            <div class="company-banner-stat-value">0</div>
370                            <div class="company-banner-stat-label">Easy</div>
371                        </div>
372                        <div class="company-banner-stat">
373                            <div class="company-banner-stat-value">0</div>
374                            <div class="company-banner-stat-label">Medium</div>
375                        </div>
376                        <div class="company-banner-stat">
377                            <div class="company-banner-stat-value">0</div>
378                            <div class="company-banner-stat-label">Hard</div>
379                        </div>
380                    </div>
381                    <a href="#topicProblemsSection" class="company-banner-btn" id="startPracticingBtn">
382                        <span class="btn-text">Start Practicing</span>
383                        <i class="fa-solid fa-arrow-right"></i>
384                        <span class="btn-spinner"></span>
385                    </a>
386                </div>
387                <svg class="company-banner-illustration" width="200" height="200" viewBox="0 0 200 200" fill="none"><circle cx="100" cy="30" r="18" fill="rgba(255,255,255,0.35)"/><circle cx="50" cy="90" r="18" fill="rgba(255,255,255,0.3)"/><circle cx="150" cy="90" r="18" fill="rgba(255,255,255,0.2)"/><circle cx="30" cy="160" r="15" fill="rgba(255,255,255,0.25)"/><circle cx="80" cy="160" r="15" fill="rgba(255,255,255,0.2)"/><path d="M100 48 L50 72 M50 108 L30 145 M50 108 L80 145" stroke="rgba(255,255,255,0.4)" stroke-width="3"/><path d="M100 48 L150 72" stroke="rgba(255,255,255,0.15)" stroke-width="2" stroke-dasharray="4,4"/></svg>            </div>
388        </div>
389    </div>
390
391    <div class="tp-main-content">
392    <div class="container">
393        <h2 class="section-title">Master <span>DSA Topics - September, 2026</span></h2>
394        <p class="section-subtitle">Practice problems across 75+ categories</p>
395
396        <!-- Banner Slider -->
397        <div class="banner-slider-wrap">
398            <div class="swiper banner-slider">
399                <div class="swiper-wrapper">
400                    <!-- Banner 1: DSA Learning -->
401                    <div class="swiper-slide">
402                        <a href="/data_structures_algorithms/index.htm" class="banner banner-green">
403                            <span class="badge badge-top">🔥 HOT</span>
404                            <h3>DSA Learning</h3>
405                            <p>Master Data Structures & Algorithms from scratch</p>
406                            <span class="btn">Start Learning →</span>
407                            <svg class="illus" viewBox="0 0 130 110" fill="none">
408                                <rect x="30" y="10" width="90" height="70" rx="8" fill="#fff" opacity="0.9"/>
409                                <rect x="38" y="20" width="35" height="6" rx="2" fill="#4caf50"/>
410                                <rect x="38" y="32" width="50" height="4" rx="2" fill="#81c784"/>
411                                <rect x="38" y="42" width="42" height="4" rx="2" fill="#a5d6a7"/>
412                                <rect x="38" y="52" width="55" height="4" rx="2" fill="#81c784"/>
413                                <rect x="38" y="62" width="38" height="4" rx="2" fill="#a5d6a7"/>
414                                <circle cx="105" cy="45" r="18" fill="#66bb6a" opacity="0.3"/>
415                                <path d="M98 45 L103 50 L112 40" stroke="#2e7d32" stroke-width="3" stroke-linecap="round" fill="none"/>
416                                <rect x="20" y="85" width="100" height="18" rx="4" fill="#43a047"/>
417                                <rect x="35" y="90" width="70" height="8" rx="3" fill="#81c784"/>
418                                <rect x="35" y="90" width="45" height="8" rx="3" fill="#fff"/>
419                            </svg>
420                        </a>
421                    </div>
422
423                    <!-- Banner 6: Interview -->
424                    <div class="swiper-slide">
425                        <a href="/data_structures_algorithms/data_structures_algorithms_interview_questions.htm" class="banner banner-blue">
426                            <h3>Top Interview<br>Questions</h3>
427                            <p>Crack your dream job</p>
428                            <span class="btn">Get Started</span>
429                            <svg class="illus" viewBox="0 0 130 110" fill="none">
430                                <rect x="70" y="5" width="50" height="100" rx="4" fill="#1565c0" opacity="0.3"/>
431                                <rect x="75" y="12" width="3" height="85" fill="#90caf9" opacity="0.4"/>
432                                <rect x="82" y="12" width="3" height="85" fill="#90caf9" opacity="0.3"/>
433                                <rect x="89" y="12" width="3" height="85" fill="#90caf9" opacity="0.4"/>
434                                <rect x="96" y="12" width="3" height="85" fill="#90caf9" opacity="0.3"/>
435                                <rect x="103" y="12" width="3" height="85" fill="#90caf9" opacity="0.4"/>
436                                <rect x="15" y="15" width="50" height="26" rx="6" fill="#e3f2fd" opacity="0.9"/>
437                                <rect x="20" y="22" width="28" height="4" rx="2" fill="#1976d2"/>
438                                <rect x="20" y="30" width="38" height="3" rx="1" fill="#1976d2" opacity="0.5"/>
439                                <rect x="28" y="48" width="45" height="24" rx="6" fill="#bbdefb"/>
440                                <rect x="33" y="54" width="22" height="4" rx="2" fill="#1565c0"/>
441                                <rect x="33" y="62" width="32" height="3" rx="1" fill="#1565c0" opacity="0.5"/>
442                                <rect x="10" y="78" width="55" height="22" rx="6" fill="#e3f2fd" opacity="0.8"/>
443                                <rect x="15" y="84" width="30" height="4" rx="2" fill="#1976d2"/>
444                                <rect x="15" y="92" width="42" height="3" rx="1" fill="#1976d2" opacity="0.5"/>
445                            </svg>
446                        </a>
447                    </div>
448
449                    <!-- Banner 2: Quest -->
450                    <div class="swiper-slide">
451                        <a href="https://www.tutorialspoint.com/cheatsheets.htm" class="banner banner-violet">
452                            <h3>Cheetsheet <span class="badge">NEW</span></h3>
453                            <p>Coding knowledge in the form of pills</p>
454                            <span class="btn">⚔️ Begin Now</span>
455                            <svg class="illus" viewBox="0 0 130 110" fill="none">
456                                <path d="M10 85 Q30 70 45 75 Q65 60 80 65 Q100 50 115 40" stroke="#e1bee7" stroke-width="2" stroke-dasharray="6 4" fill="none"/>
457                                <circle cx="10" cy="85" r="4" fill="#e1bee7"/>
458                                <circle cx="45" cy="75" r="4" fill="#e1bee7"/>
459                                <circle cx="80" cy="65" r="4" fill="#e1bee7"/>
460                                <rect x="25" y="40" width="18" height="18" rx="3" fill="#f48fb1" transform="rotate(15 34 49)"/>
461                                <circle cx="70" cy="35" r="12" fill="#7c4dff"/>
462                                <rect x="95" y="60" width="14" height="14" rx="2" fill="#ffb74d" transform="rotate(-10 102 67)"/>
463                                <rect x="100" y="15" width="28" height="20" rx="4" fill="#8d6e63"/>
464                                <rect x="100" y="15" width="28" height="9" rx="4" fill="#a1887f"/>
465                                <rect x="110" y="20" width="8" height="10" rx="2" fill="#ffc107"/>
466                            </svg>
467                        </a>
468                    </div>
469
470
471
472                    <!-- Banner 3: Python -->
473                    <div class="swiper-slide">
474                        <a href="/python/index.htm" class="banner banner-python">
475                            <h3>Python</h3>
476                            <p>30 Days Challenge<br>Beginner Friendly</p>
477                            <span class="btn">Start Learning</span>
478                            <svg class="illus" viewBox="0 0 130 110" fill="none">
479                                <rect x="40" y="5" width="80" height="95" rx="8" fill="#fff" opacity="0.95"/>
480                                <rect x="40" y="5" width="80" height="26" rx="8" fill="#306998"/>
481                                <rect x="40" y="26" width="80" height="5" fill="#306998"/>
482                                <text x="58" y="22" font-size="10" fill="#FFD43B" font-weight="600">Python</text>
483                                <text x="55" y="58" font-size="18" fill="#306998" font-weight="700">DAY</text>
484                                <text x="60" y="88" font-size="26" fill="#306998" font-weight="800">30</text>
485                                <circle cx="108" cy="82" r="12" fill="#FFD43B" stroke="#306998" stroke-width="2"/>
486                                <path d="M102 82 L106 86 L114 77" stroke="#306998" stroke-width="2.5" stroke-linecap="round" fill="none"/>
487                            </svg>
488                        </a>
489                    </div>
490
491                    <!-- Banner 4: Linked List -->
492                    <div class="swiper-slide">
493                        <a href="#" class="banner banner-cyan">
494                            <h3>Linked List</h3>
495                            <p>Master pointers & node operations</p>
496                            <span class="btn">Start Now</span>
497                            <svg class="illus" viewBox="0 0 130 110" fill="none">
498                                <!-- Node 1 -->
499                                <rect x="10" y="40" width="28" height="28" rx="6" fill="#fff" opacity="0.9"/>
500                                <text x="18" y="58" font-size="12" fill="#00838f" font-weight="700">5</text>
501                                <!-- Arrow 1 -->
502                                <line x1="38" y1="54" x2="48" y2="54" stroke="#fff" stroke-width="2"/>
503                                <path d="M46 50 L52 54 L46 58" fill="none" stroke="#fff" stroke-width="2" stroke-linecap="round"/>
504                                <!-- Node 2 -->
505                                <rect x="52" y="40" width="28" height="28" rx="6" fill="#fff" opacity="0.9"/>
506                                <text x="60" y="58" font-size="12" fill="#00838f" font-weight="700">12</text>
507                                <!-- Arrow 2 -->
508                                <line x1="80" y1="54" x2="90" y2="54" stroke="#fff" stroke-width="2"/>
509                                <path d="M88 50 L94 54 L88 58" fill="none" stroke="#fff" stroke-width="2" stroke-linecap="round"/>
510                                <!-- Node 3 -->
511                                <rect x="94" y="40" width="28" height="28" rx="6" fill="#fff" op
511acity="0.9"/>
512                                <text x="102" y="58" font-size="12" fill="#00838f" font-weight="700">8</text>
513                                <!-- NULL -->
514                                <text x="70" y="85" font-size="10" fill="#fff" font-weight="600" opacity="0.8">NULL →</text>
515                            </svg>
516                        </a>
517                    </div>
518
519                    <!-- Banner 5: Tree -->
520                    <div class="swiper-slide">
521                        <a href="#" class="banner banner-amber">
522                            <h3>Tree</h3>
523                            <p>Binary Tree, BST, AVL & more</p>
524                            <span class="btn">Explore Now</span>
525                            <svg class="illus" viewBox="0 0 130 110" fill="none">
526                                <!-- Root node -->
527                                <circle cx="75" cy="20" r="14" fill="#fff" opacity="0.9"/>
528                                <text x="70" y="25" font-size="12" fill="#e65100" font-weight="700">10</text>
529                                <!-- Left child -->
530                                <line x1="65" y1="32" x2="45" y2="48" stroke="#fff" stroke-width="2" opacity="0.7"/>
531                                <circle cx="40" cy="55" r="12" fill="#fff" opacity="0.85"/>
532                                <text x="35" y="60" font-size="11" fill="#e65100" font-weight="700">5</text>
533                                <!-- Right child -->
534                                <line x1="85" y1="32" x2="105" y2="48" stroke="#fff" stroke-width="2" opacity="0.7"/>
535                                <circle cx="110" cy="55" r="12" fill="#fff" opacity="0.85"/>
536                                <text x="103" y="60" font-size="11" fill="#e65100" font-weight="700">15</text>
537                                <!-- Left-left -->
538                                <line x1="32" y1="65" x2="22" y2="78" stroke="#fff" stroke-width="2" opacity="0.6"/>
539                                <circle cx="18" cy="85" r="10" fill="#fff" opacity="0.8"/>
540                                <text x="14" y="89" font-size="9" fill="#e
54065100" font-weight="700">2</text>
541                                <!-- Left-right -->
542                                <line x1="48" y1="65" x2="58" y2="78" stroke="#fff" stroke-width="2" opacity="0.6"/>
543                                <circle cx="62" cy="85" r="10" fill="#fff" opacity="0.8"/>
544                                <text x="58" y="89" font-size="9" fill="#e65100" font-weight="700">7</text>
545                                <!-- Right-right -->
546                                <line x1="118" y1="65" x2="118" y2="78" stroke="#fff" stroke-width="2" opacity="0.6"/>
547                                <circle cx="118" cy="88" r="10" fill="#fff" opacity="0.8"/>
548                                <text x="112" y="92" font-size="9" fill="#e65100" font-weight="700">20</text>
549                            </svg>
550                        </a>
551                    </div>
552
553                    <!-- Banner 7: Graph -->
554                    <div class="swiper-slide">
555                        <a href="#" class="banner banner-purple">
556                            <h3>Graph Algorithms</h3>
557                            <p>Master BFS, DFS, Dijkstra & more</p>
558                            <span class="btn">Explore Now</span>
559                            <svg class="illus" viewBox="0 0 130 110" fill="none">
560                                <circle cx="45" cy="22" r="12" fill="#fff" opacity="0.9"/>
561                                <circle cx="95" cy="15" r="12" fill="#fff" opacity="0.85"/>
562                                <circle cx="85" cy="55" r="12" fill="#fff" opacity="0.9"/>
563                                <circle cx="45" cy="78" r="12" fill="#fff" opacity="0.85"/>
564                                <circle cx="100" cy="85" r="12" fill="#fff" opacity="0.9"/>
565                                <line x1="45" y1="22" x2="95" y2="15" stroke="#fff" stroke-width="2" opacity="0.5"/>
566                                <line x1="95" y1="15" x2="85" y2="55" stroke="#fff" stroke-width="2" opacity="0.5"/>
567                                <line x1="45" y1="22" x2="85" y2="55" stroke="#fff" stroke-width="2" opacity="0.5"/>
568                                <line x1="85" y1="55" x2="45" y2="78" stroke="#fff" stroke-width="2" opacity="0.5"/>
569                                <line x1="85" y1="55" x2="100" y2="85" stroke="#fff" stroke-width="2" opacity="0.5"/>
570                                <line x1="45" y1="78" x2="100" y2="85" stroke="#fff" stroke-width="2" opacity="0.5"/>
571                                <text x="41" y="27" font-size="10" fill="#7b1fa2" font-weight="700">A</text>
572                                <text x="91" y="20" font-size="10" fill="#7b1fa2" font-weight="700">B</text>
573                                <text x="81" y="60" font-size="10" fill="#7b1fa2" font-weight="700">C</text>
574                                <text x="41" y="83" font-size="10" fill="#7b1fa2" font-weight="700">D</text>
575                                <text x="96" y="90" font-size="10" fill="#7b1fa2" font-weight="700">E</text>
576                            </svg>
577                        </a>
578                    </div>
579
580                    <!-- Banner 8: Sorting -->
581                    <div class="swiper-slide">
582                        <a href="#" class="banner banner-teal">
583                            <h3>Sorting Algorithms</h3>
584                            <p>Quick, Merge, Heap & more</p>
585                            <span class="btn">Start Now</span>
586                            <svg class="illus" viewBox="0 0 130 110" fill="none">
587                                <rect x="30" y="75" width="14" height="28" rx="3" fill="#fff" opacity="0.7"/>
588                                <rect x="48" y="55" width="14" height="48" rx="3" fill="#fff" opacity="0.75"/>
589                                <rect x="66" y="38" width="14" height="65" rx="3" fill="#fff" opacity="0.8"/>
590                                <rect x="84" y="22" width="14" height="81" rx="3" fill="#fff" opacity="0.85"/>
591                                <rect x="102" y="8" width="14" height="95" rx="3" fill="#fff" opacity="0.9"/>
592                                <path d="M22 18 L37 18 L30 28 Z" fill="#fff" op
592acity="0.6"/>
593                                <line x1="30" y1="18" x2="30" y2="38" stroke="#fff" stroke-width="2" opacity="0.6"/>
594                            </svg>
595                        </a>
596                    </div>
597
598                    <!-- Banner 9: Recursion -->
599                    <div class="swiper-slide">
600                        <a href="#" class="banner banner-red">
601                            <h3>Recursion</h3>
602                            <p>Master recursive patterns</p>
603                            <span class="btn">Learn Now</span>
604                            <svg class="illus" viewBox="0 0 130 110" fill="none">
605                                <circle cx="80" cy="55" r="38" stroke="#fff" stroke-width="2" fill="none" opacity="0.3"/>
606                                <circle cx="80" cy="55" r="28" stroke="#fff" stroke-width="2" fill="none" opacity="0.4"/>
607                                <circle cx="80" cy="55" r="18" stroke="#fff" stroke-width="2" fill="none" opacity="0.6"/>
608                                <circle cx="80" cy="55" r="10" fill="#fff" opacity="0.8"/>
609                                <text x="72" y="59" font-size="9" fill="#c62828" font-weight="700">f(n)</text>
610                                <path d="M38 25 Q25 55 38 85" stroke="#fff" stroke-width="2" fill="none" opacity="0.5"/>
611                                <path d="M38 25 L43 30 L33 30 Z" fill="#fff" opacity="0.5"/>
612                            </svg>
613                        </a>
614                    </div>
615                </div>
616            </div>
617
618            <!-- Round Navigation Buttons -->
619            <button class="nav-btn nav-prev">
620                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"><path d="M15 18l-6-6 6-6"/></svg>
621            </button>
622            <button class="nav-btn nav-next">
623                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"><path d="M9 18l6-6-6-6"/></svg>
624            </button>
625        </div>
626
627        <!-- Topic Cards -->
628<div class="cards-container">
629    <div class="cards-grid" id="cardsGrid">
630
631        <a href="/topic/array" class="card">
632            <div class="card-icon ic1"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><rect x="3" y="3" width="7" height="7" rx="1"></rect><rect x="14" y="3" width="7" height="7" rx="1"></rect><rect x="3" y="14" width="7" height="7" rx="1"></rect><rect x="14" y="14" width="7" height="7" rx="1"></rect></svg></div>
633            <div><h4>Array</h4><div class="count">1,947 Problems</div></div>
634        </a>
635        <a href="/topic/string" class="card">
636            <div class="card-icon ic2"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><path d="M4 7V4h16v3"></path><path d="M9 20h6"></path><path d="M12 4v16"></path></svg></div>
637            <div><h4>String</h4><div class="count">803 Problems</div></div>
638        </a>
639        <a href="/topic/hash-table" class="card">
640            <div class="card-icon ic3"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><line x1="4" y1="9" x2="20" y2="9"></line><line x1="4" y1="15" x2="20" y2="15"></line><line x1="10" y1="3" x2="8" y2="21"></line><line x1="16" y1="3" x2="14" y2="21"></line></svg></div>
641            <div><h4>Hash Table</h4><div class="count">719 Problems</div></div>
642        </a>
643        <a href="/topic/dynamic-programming" class="card">
644            <div class="card-icon ic4"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2"></rect><path d="M3 9h18"></path><path d="M3 15h18"></path><path d="M9 3v18"></path><path d="M15 3v18"></path></svg></div>
645            <div><h4>Dynamic Programming</h4><div class="count">602 Problems</div></div>
646        </a>
647        <a href="/topic/sorting" class="card">
648            <div class="card-icon ic5"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><path d="M3 6h18"></path><path d="M6 12h12"></path><path d="M9 18h6"></path></svg></div>
649            <div><h4>Sorting</h4><div class="count">464 Problems</div></div>
650        </a>
651        <a href="/topic/greedy" class="card">
652            <div class="card-icon ic6"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><path d="M12 2L2 7l10 5 10-5-10-5z"></path><path d="M2 17l10 5 10-5"></path><path d="M2 12l10 5 10-5"></path></svg></div>
653            <div><h4>Greedy</h4><div class="count">420 Problems</div></div>
654        </a>
655        <a href="/topic/depth-first-search" class="card">
656            <div class="card-icon ic7"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><circle cx="12" cy="5" r="3"></circle><line x1="12" y1="8" x2="12" y2="12"></line><circle cx="6" cy="17" r="3"></circle><circle cx="18" cy="17" r="3"></circle><line x1="12" y1="12" x2="6" y2="14"></line><line x1="12" y1="12" x2="18" y2="14"></line></svg></div>
657            <div><h4>Depth-First Search</h4><div class="count">325 Problems</div></div>
658        </a>
659        <div class="card see-all-btn" id="seeAllBtn">
660            <div class="card-icon ic8"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><circle cx="12" cy="12" r="9"></circle><path d="M12 8v8"></path><path d="M8 12h8"></path></svg></div>
661            <div><h4>See All Topics</h4><div class="count">73 Categories</div></div>
662        </div>
663    </div>
664
665    <!-- Expanded View -->
666    <div class="cards-expanded hidden" id="cardsExpanded">
667        <div class="cards-scroll">
668            <a href="/topic/array" class="card-small"><div class="card-icon-sm ic1"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><rect x="3" y="3" width="7" height="7" rx="1"></rect><rect x="14" y="3" width="7" height="7" rx="1"></rect><rect x="3" y="14" width="7" height="7" rx="1"></rect><rect x="14" y="14" width="7" height="7" rx="1"></rect></svg></div><div><h4>Array</h4><span>1,947 Problems</span></div></a>
669            <a href="/topic/string" class="card-small"><div class="card-icon-sm ic2"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><path d="M4 7V4h16v3"></path><path d="M9 20h6"></path><path d="M12 4v16"></path></svg></div><div><h4>String</h4><span>803 Problems</span></div></a>
670            <a href="/topic/hash-table" class="card-small"><div class="card-icon-sm ic3"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><line x1="4" y1="9" x2="20" y2="9"></line><line x1="4" y1="15" x2="20" y2="15"></line><line x1="10" y1="3" x2="8" y2="21"></line><line x1="16" y1="3" x2="14" y2="21"></line></svg></div><div><h4>Hash Table</h4><span>719 Problems</span></div></a>
671            <a href="/topic/math" class="card-small"><div class="card-icon-sm ic1"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><path d="M12 2L2 7l10 5 10-5z"></path><path d="M12 12l10-5"></path><path d="M12 12L2 7"></path><path d="M12 12v10"></path></svg></div><div><h4>Math</h4><span>596 Problems</span></div></a>
672            <a href="/topic/dynamic-programming" class="card-small"><div class="card-icon-sm ic4"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2"></rect><path d="M3 9h18"></path><path d="M3 15h18"></path><path d="M9 3v18"></path><path d="M15 3v18"></path></svg></div><div><h4>Dynamic Programming</h4><span>602 Problems</span></div></a>
673            <a href="/topic/sorting" class="card-small"><div class="card-icon-sm ic5"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><path d="M3 6h18"></path><path d="M6 12h12"></path><path d="M9 18h6"></path></svg></div><div><h4>Sorting</h4><span>464 Problems</span></div></a>
674            <a href="/topic/greedy" class="card-small"><div class="card-icon-sm ic6"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><path d="M12 2L2 7l10 5 10-5-10-5z"></path><path d="M2 17l10 5 10-5"></path><path d="M2 12l10 5 10-5"></path></svg></div><div><h4>Greedy</h4><span>420 Problems</span></div></a>
675            <a href="/topic/depth-first-search" class="card-small"><div class="card-icon-sm ic7"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><circle cx="12" cy="5" r="3"></circle><line x1="12" y1="8" x2="12" y2="12"></line><circle cx="6" cy="17" r="3"></circle><circle cx="18" cy="17" r="3"></circle><line x1="12" y1="12" x2="6" y2="14"></line><line x1="12" y1="12" x2="18" y2="14"></line></svg></div><div><h4>Depth-First Search</h4><span>325 Problems</span></div></a>
676            <a href="/topic/database" class="card-small"><div class="card-icon-sm ic2"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><ellipse cx="12" cy="5" rx="9" ry="3"></ellipse><path d="M21 12c0 1.66-4 3-9 3s-9-1.34-9-3"></path><path d="M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5"></path></svg></div><div><h4>Database</h4><span>324 Problems</span></div></a>
677            <a href="/topic/binary-search" class="card-small"><div class="card-icon-sm ic1"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><circle cx="11" cy="11" r="8"></circle><path d="M21 21l-4.35-4.35"></path></svg></div><div><h4>Binary Search</h4><span>309 Problems</span></div></a>
678            <a href="/topic/matrix" class="card-small"><div class="card-icon-sm ic3"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><rect x="3" y="3" width="6" height="6"></rect><rect x="15" y="3" width="6" height="6"></rect><rect x="9" y="9" width="6" height="6"></rect><rect x="3" y="15" width="6" height="6"></rect><rect x="15" y="15" width="6" height="6"></rect></svg></div><div><h4>Matrix</h4><span>260 Problems</span></div></a>
679            <a href="/topic/tree" class="card-small"><div class="card-icon-sm ic5"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><circle cx="12" cy="5" r="3"></circle><line x1="12" y1="8" x2="12" y2="12"></line><circle cx="6" cy="19" r="3"></circle><circle cx="18" cy="19" r="3"></circle><line x1="12" y1="12" x2="6" y2="16"></line><line x1="12" y1="12" x2="18" y2="16"></line></svg></div><div><h4>Tree</h4><span>252 Problems</span></div></a>
680            <a href="/topic/bit-manipulation" class="card-small"><div class="card-icon-sm ic4"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg></div><div><h4>Bit Manipulation</h4><span>249 Problems</span></div></a>
681            <a href="/topic/breadth-first-search" class="card-small"><div class="card-icon-sm ic6"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><circle cx="12" cy="12" r="3"></circle><circle cx="4" cy="12" r="2"></circle><circle cx="20" cy="12" r="2"></circle><circle cx="12" cy="4" r="2"></circle><circle cx="12" cy="20" r="2"></circle><line x1="12" y1="9" x2="12" y2="6"></line><line x1="12" y1="15" x2="12" y2="18"></line><line x1="9" y1="12" x2="6" y2="12"></line><line x1="15" y1="12" x2="18" y2="12"></line></svg></div><div><h4>Breadth-First Search</h4><span>243 Problems</span></div></a>
682            <a href="/topic/two-pointers" class="card-small"><div class="card-icon-sm ic7"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><path d="M5 9l4 4-4 4"></path><path d="M19 9l-4 4 4 4"></path></svg></div><div><h4>Two Pointers</h4><span>223 Problems</span></div></a>
683            <a href="/topic/prefix-sum" class="card-small"><div class="card-icon-sm ic1"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><path d="M4 12h16"></path><path d="M4 6h8"></path><path d="M4 18h12"></path></svg></div><div><h4>Prefix Sum</h4><span>208 Problems</span></div></a>
684            <a href="/topic/heap-(priority-queue).htm" class="card-small"><div class="card-icon-sm ic2"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><path d="M12 2L2 7l10 5 10-5-10-5z"></path><path d="M2 12l10 5 10-5"></path></svg></div><div><h4>Heap (Priority Queue)</h4><span>196 Problems</span></div></a>
685            <a href="/topic/simulation" class="card-small"><div class="card-icon-sm ic3"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><rect x="2" y="2" width="20" height="20" rx="2"></rect><path d="M12 6v12"></path><path d="M6 12h12"></path></svg></div><div><h4>Simulation</h4><span>185 Problems</span></div></a>
686            <a href="/topic/binary-tree" class="card-small"><div class="card-icon-sm ic6"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><circle cx="12" cy="5" r="3"></circle><circle cx="6" cy="19" r="3"></circle><circle cx="18" cy="19" r="3"></circle><line x1="12" y1="8" x2="6" y2="16"></line><line x1="12" y1="8" x2="18" y2="16"></line></svg></div><div><h4>Binary Tree</h4><span>177 Problems</span></div></a>
687            <a href="/topic/stack" class="card-small"><div class="card-icon-sm ic7"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><rect x="4" y="4" width="16" height="16" rx="2"></rect><path d="M4 10h16"></path><path d="M10 4v16"></path></svg></div><div><h4>Stack</h4><span>172 Problems</span></div></a>
688            <a href="/topic/graph" class="card-small"><div class="card-icon-sm ic5"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><circle cx="6" cy="6" r="3"></circle><circle cx="18" cy="6" r="3"></circle><circle cx="6" cy="18" r="3"></circle><circle cx="18" cy="18" r="3"></circle><line x1="9" y1="6" x2="15" y2="6"></line><line x1="6" y1="9" x2="6" y2="15"></line><line x1="18" y1="9" x2="18" y2="15"></line><line x1="9" y1="18" x2="15" y2="18"></line></svg></div><div><h4>Graph</h4><span>169 Problems</span></div></a>
689            <a href="/topic/counting" class="card-small"><div class="card-icon-sm ic4"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><path d="M12 20V10"></path><path d="M18 20V4"></path><path d="M6 20v-4"></path></svg></div><div><h4>Counting</h4><span>166 Problems</span></div></a>
690            <a href="/topic/sliding-window" class="card-small"><div class="card-icon-sm ic1"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><rect x="1" y="5" width="22" height="14" rx="2"></rect><rect x="5" y="8" width="6" height="8" rx="1" fill="currentColor" opacity="0.3"></rect></svg></div><div><h4>Sliding Window</h4><span>154 Problems</span></div></a>
691            <a href="/topic/design" class="card-small"><div class="card-icon-sm ic3"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><path d="M12 6v6l4 2"></path></svg></div><div><h4>Design</h4><span>128 Problems</span></div></a>
692            <a href="/topic/enumeration" class="card-small"><div class="card-icon-sm ic2"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><path d="M3 6h18"></path><path d="M3 12h18"></path><path d="M3 18h18"></path></svg></div><div><h4>Enumeration</h4><span>123 Problems</span></div></a>
693            <a href="/topic/backtracking" class="card-small"><div class="card-icon-sm ic4"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><path d="M9 14l-4 4 4 4"></path><path d="M5 18h7a4 4 0 0 0 0-8h-1"></path></svg></div><div><h4>Backtracking</h4><span>109 Problems</span></div></a>
694            <a href="/topic/union-find" class="card-small"><div class="card-icon-sm ic5"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><circle cx="9" cy="9" r="5"></circle><circle cx="15" cy="15" r="5"></circle></svg></div><div><h4>Union Find</h4><span>89 Problems</span></div></a>
695            <a href="/topic/linked-list" class="card-small"><div class="card-icon-sm ic7"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><circle cx="6" cy="12" r="3"></circle><circle cx="18" cy="12" r="3"></circle><line x1="9" y1="12" x2="15" y2="12"></line></svg></div><div><h4>Linked List</h4><span>82 Problems</span></div></a>
696            <a href="/topic/number-theory" class="card-small"><div class="card-icon-sm ic6"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><path d="M4 19l8-14 8 14"></path><circle cx="12" cy="9" r="2"></circle></svg></div><div><h4>Number Theory</h4><span>76 Problems</span></div></a>
697            <a href="/topic/ordered-set" class="card-small"><div class="card-icon-sm ic1"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2"></rect><path d="M8 12h8"></path></svg></div><div><h4>Ordered Set</h4><span>72 Problems</span></div></a>
698            <a href="/topic/monotonic-stack" class="card-small"><div class="card-icon-sm ic3"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><rect x="4" y="4" width="16" height="4"></rect><rect x="4" y="10" width="16" height="4"></rect><rect x="4" y="16" width="16" height="4"></rect></svg></div><div><h4>Monotonic Stack</h4><span>68 Problems</span></div></a>
699            <a href="/topic/segment-tree" class="card-small"><div class="card-icon-sm ic2"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><path d="M3 3v18h18"></path><path d="M7 16l4-8 4 5 5-10"></path></svg></div><div><h4>Segment Tree</h4><span>65 Problems</span></div></a>
700            <a href="/topic/javascript" class="card-small"><div class="card-icon-sm ic4"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2"></rect><path d="M12 8v8"></path><path d="M8 12h8"></path></svg></div><div><h4>JavaScript</h4><span>64 Problems</span></div></a>
701            <a href="/topic/trie" class="card-small"><div class="card-icon-sm ic4"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><circle cx="12" cy="5" r="3"></circle><path d="M12 8v4"></path><path d="M8 14h8"></path><path d="M6 18h4"></path><path d="M14 18h4"></path></svg></div><div><h4>Trie</h4><span>59 Problems</span></div></a>
702            <a href="/topic/combinatorics" class="card-small"><div class="card-icon-sm ic6"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><path d="M12 3l9 4.5v9L12 21l-9-4.5v-9L12 3z"></path></svg></div><div><h4>Combinatorics</h4><span>55 Problems</span></div></a>
703            <a href="/topic/bitmask" class="card-small"><div class="card-icon-sm ic7"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><rect x="3" y="3" width="8" height="8"></rect><rect x="13" y="3" width="8" height="8"></rect><rect x="3" y="13" width="8" height="8"></rect><rect x="13" y="13" width="8" height="8"></rect></svg></div><div><h4>Bitmask</h4><span>54 Problems</span></div></a>
704            <a href="/topic/recursion" class="card-small"><div class="card-icon-sm ic1"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><path d="M4 12a8 8 0 0 1 16 0"></path><path d="M12 12v8"></path><circle cx="12" cy="12" r="2"></circle></svg></div><div><h4>Recursion</h4><span>50 Problems</span></div></a>
705            <a href="/topic/divide-and-conquer" class="card-small"><div class="card-icon-sm ic5"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><rect x="3" y="3" width="18" height="6" rx="1"></rect><rect x="3" y="15" width="8" height="6" rx="1"></rect><rect x="13" y="15" width="8" height="6" rx="1"></rect></svg></div><div><h4>Divide and Conquer</h4><span>50 Problems</span></div></a>
706            <a href="/topic/queue" class="card-small"><div class="card-icon-sm ic2"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><rect x="3" y="6" width="18" height="12" rx="2"></rect><path d="M3 10h18"></path></svg></div><div><h4>Queue</h4><span>50 Problems</span></div></a>
707            <a href="/topic/memoization" class="card-small"><div class="card-icon-sm ic5"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><rect x="4" y="4" width="16" height="16" rx="2"></rect><path d="M4 12h16"></path><path d="M12 4v16"></path></svg></div><div><h4>Memoization</h4><span>43 Problems</span></div></a>
708            <a href="/topic/binary-indexed-tree" class="card-small"><div class="card-icon-sm ic4"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><path d="M3 3v18h18"></path><rect x="7" y="10" width="3" height="8"></rect><rect x="12" y="6" width="3" height="12"></rect><rect x="17" y="13" width="3" height="5"></rect></svg></div><div><h4>Binary Indexed Tree</h4><span>42 Problems</span></div></a>
709            <a href="/topic/geometry" class="card-small"><div class="card-icon-sm ic3"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><polygon points="12,6 14,10 18,10 15,13 16,17 12,15 8,17 9,13 6,10 10,10"></polygon></svg></div><div><h4>Geometry</h4><span>42 Problems</span></div></a>
710            <a href="/topic/binary-search-tree" class="card-small"><div class="card-icon-sm ic7"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><circle cx="12" cy="5" r="3"></circle><circle cx="6" cy="12" r="2"></circle><circle cx="18" cy="12" r="2"></circle><circle cx="4" cy="19" r="2"></circle><circle cx="12" cy="19" r="2"></circle><circle cx="20" cy="19" r="2"></circle></svg></div><div><h4>Binary Search Tree</h4><span>40 Problems</span></div></a>
711            <a href="/topic/hash-function" class="card-small"><div class="card-icon-sm ic6"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><path d="M12 6v6"></path><circle cx="12" cy="16" r="1"></circle></svg></div><div><h4>Hash Function</h4><span>39 Problems</span></div></a>
712            <a href="/topic/string-matching" class="card-small"><div class="card-icon-sm ic2"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><path d="M4 7h16"></path><path d="M4 12h10"></path><path d="M4 17h14"></path></svg></div><div><h4>String Matching</h4><span>37 Problems</span></div></a>
713            <a href="/topic/topological-sort" class="card-small"><div class="card-icon-sm ic3"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><path d="M3 3l7 9-7 9"></path><path d="M21 3l-7 9 7 9"></path></svg></div><div><h4>Topological Sort</h4><span>36 Problems</span></div></a>
714            <a href="/topic/shortest-path" class="card-small"><div class="card-icon-sm ic1"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><circle cx="5" cy="12" r="3"></circle><circle cx="19" cy="12" r="3"></circle><path d="M8 12h8" stroke-dasharray="2 2"></path></svg></div><div><h4>Shortest Path</h4><span>35 Problems</span></div></a>
715            <a href="/topic/rolling-hash" class="card-small"><div class="card-icon-sm ic4"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><path d="M12 6v6l3 3"></path></svg></div><div><h4>Rolling Hash</h4><span>30 Problems</span></div></a>
716            <a href="/topic/game-theory" class="card-small"><div class="card-icon-sm ic5"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><rect x="2" y="6" width="20" height="12" rx="2"></rect><circle cx="8" cy="12" r="2"></circle><circle cx="16" cy="12" r="2"></circle></svg></div><div><h4>Game Theory</h4><span>28 Problems</span></div></a>
717            <a href="/topic/interactive" class="card-small"><div class="card-icon-sm ic6"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><path d="M12 3v18"></path><path d="M3 12h18"></path><circle cx="12" cy="12" r="3"></circle></svg></div><div><h4>Interactive</h4><span>23 Problems</span></div></a>
718            <a href="/topic/data-stream" class="card-small"><div class="card-icon-sm ic7"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><path d="M2 12h2"></path><path d="M6 12h2"></path><path d="M10 12h2"></path><path d="M14 12h2"></path><path d="M18 12h2"></path><path d="M20 12h2"></path></svg></div><div><h4>Data Stream</h4><span>22 Problems</span></div></a>
719            <a href="/topic/monotonic-queue" class="card-small"><div class="card-icon-sm ic1"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><path d="M4 14h4v6H4z"></path><path d="M10 10h4v10h-4z"></path><path d="M16 4h4v16h-4z"></path></svg></div><div><h4>Monotonic Queue</h4><span>20 Problems</span></div></a>
720            <a href="/topic/brainteaser" class="card-small"><div class="card-icon-sm ic2"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><path d="M9 9h.01"></path><path d="M15 9h.01"></path><path d="M9 15c.5.5 1.5 1 3 1s2.5-.5 3-1"></path></svg></div><div><h4>Brainteaser</h4><span>19 Problems</span></div></a>
721            <a href="/topic/doubly-linked-list" class="card-small"><div class="card-icon-sm ic3"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><circle cx="6" cy="12" r="3"></circle><circle cx="12" cy="12" r="3"></circle><circle cx="18" cy="12" r="3"></circle><path d="M3 12h0"></path><path d="M21 12h0"></path></svg></div><div><h4>Doubly-Linked List</h4><span>14 Problems</span></div></a>
722            <a href="/topic/randomized" class="card-small"><div class="card-icon-sm ic5"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><path d="M4 4l16 16"></path><circle cx="8" cy="8" r="3"></circle><circle cx="16" cy="16" r="3"></circle></svg></div><div><h4>Randomized</h4><span>12 Problems</span></div></a>
723            <a href="/topic/merge-sort" class="card-small"><div class="card-icon-sm ic4"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><path d="M4 6h16"></path><path d="M4 10h8"></path><path d="M14 10h6"></path><path d="M4 14h4"></path><path d="M10 14h4"></path><path d="M16 14h4"></path><path d="M4 18h2"></path><path d="M8 18h2"></path><path d="M12 18h2"></path><path d="M16 18h2"></path><path d="M20 18h2"></path></svg></div><div><h4>Merge Sort</h4><span>12 Problems</span></div></a>
724            <a href="/topic/counting-sort" class="card-small"><div class="card-icon-sm ic6"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><path d="M3 3l18 18"></path><rect x="3" y="8" width="8" height="8"></rect><rect x="13" y="8" width="8" height="8"></rect></svg></div><div><h4>Counting Sort</h4><span>11 Problems</span></div></a>
725            <a href="/topic/iterator" class="card-small"><div class="card-icon-sm ic7"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><path d="M5 9l4-4 4 4"></path><path d="M9 5v14"></path><path d="M15 15l4 4 4-4"></path><path d="M19 19V5"></path></svg></div><div><h4>Iterator</h4><span>9 Problems</span></div></a>
726            <a href="/topic/concurrency" class="card-small"><div class="card-icon-sm ic1"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><path d="M4 4v16"></path><path d="M20 4v16"></path><path d="M4 12h16"></path></svg></div><div><h4>Concurrency</h4><span>9 Problems</span></div></a>
727            <a href="/topic/line-sweep" class="card-small"><div class="card-icon-sm ic4"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><path d="M4 6l16 12"></path><path d="M4 18L20 6"></path></svg></div><div><h4>Line Sweep</h4><span>8 Problems</span></div></a>
728            <a href="/topic/probability-and-statistics" class="card-small"><div class="card-icon-sm ic5"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><path d="M3 3v18h18"></path><circle cx="9" cy="9" r="2"></circle><circle cx="15" cy="15" r="2"></circle><circle cx="18" cy="6" r="2"></circle></svg></div><div><h4>Probability &amp; Statistics</h4><span>7 Problems</span></div></a>
729            <a href="/topic/suffix-array" class="card-small"><div class="card-icon-sm ic3"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><path d="M4 6h16"></path><path d="M4 18h16"></path><path d="M12 6v12"></path></svg></div><div><h4>Suffix Array</h4><span>7 Problems</span></div></a>
730            <a href="/topic/quickselect" class="card-small"><div class="card-icon-sm ic2"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg></div><div><h4>Quickselect</h4><span>7 Problems</span></div></a>
731            <a href="/topic/minimum-spanning-tree" class="card-small"><div class="card-icon-sm ic6"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><circle cx="6" cy="6" r="3"></circle><circle cx="18" cy="6" r="3"></circle><circle cx="12" cy="18" r="3"></circle><line x1="6" y1="9" x2="12" y2="15"></line><line x1="18" y1="9" x2="12" y2="15"></line></svg></div><div><h4>Minimum Spanning Tree</h4><span>6 Problems</span></div></a>
732            <a href="/topic/bucket-sort" class="card-small"><div class="card-icon-sm ic7"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><path d="M4 16V8a4 4 0 0 1 4-4h8a4 4 0 0 1 4 4v8a4 4 0 0 1-4 4H8a4 4 0 0 1-4-4z"></path></svg></div><div><h4>Bucket Sort</h4><span>6 Problems</span></div></a>
733            <a href="/topic/pandas" class="card-small"><div class="card-icon-sm ic1"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2"></rect><path d="M3 9h18"></path><path d="M9 3v18"></path></svg></div><div><h4>Pandas</h4><span>4 Problems</span></div></a>
734            <a href="/topic/reservoir-sampling" class="card-small"><div class="card-icon-sm ic2"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2"></rect><circle cx="12" cy="12" r="4"></circle></svg></div><div><h4>Reservoir Sampling</h4><span>4 Problems</span></div></a>
735            <a href="/topic/shell" class="card-small"><div class="card-icon-sm ic1"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><path d="M12 2L2 7l10 5 10-5-10-5z"></path></svg></div><div><h4>Shell</h4><span>4 Problems</span></div></a>
736            <a href="/topic/eulerian-circuit" class="card-small"><div class="card-icon-sm ic4"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><circle cx="12" cy="12" r="8"></circle><path d="M12 4a8 8 0 0 1 0 16"></path></svg></div><div><h4>Eulerian Circuit</h4><span>3 Problems</span></div></a>
737            <a href="/topic/strongly-connected-component" class="card-small"><div class="card-icon-sm ic3"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><path d="M12 8v8"></path></svg></div><div><h4>Strongly Connected Component</h4><span>3 Problems</span></div></a>
738            <a href="/topic/radix-sort" class="card-small"><div class="card-icon-sm ic5"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><path d="M3 12h4l2-8 4 16 2-8h6"></path></svg></div><div><h4>Radix Sort</h4><span>3 Problems</span></div></a>
739            <!-- Collapse Button -->
740            <div class="card-small collapse-btn" id="collapseBtn">
741                <div class="card-icon-sm ic8"><svg viewBox="0 0 24 24" fill="none" stroke-width="2"><path d="M18 15l-6-6-6 6"></path></svg></div>
742                <div><h4>Collapse</h4><span>Show Less</span></div>
743            </div>
744        </div>
745    </div>
746</div>
747    </div>
748    </div>
749
750    <!-- Code Practice Section -->
751    <section class="container practice-section">
752        <div class="practice-header" id="topicProblemsSection">
753            <div class="practice-title-wrapper">
754                <div>
755                    <h2 class="section-title">
756                        Depth-First Search <span>Coding Problems</span>
757                        <!-- Cute Animated Robot -->
758                        <div class="ai-robot">
759                            <div class="robot-antenna"></div>
760                            <div class="robot-ear left"></div>
761                            <div class="robot-ear right"></div>
762                            <div class="robot-head">
763                                <div class="robot-eye left"></div>
764                                <div class="robot-eye right"></div>
765                                <div class="robot-mouth"></div>
766                            </div>
767                        </div>
768                    </h2>
769                    <p class="section-subtitle ai-subtitle"><span class="ai-sparkle"><i class="fa-solid fa-sparkles"></i></span> Practice problems frequently asked at Depth-First Search <span class="ai-divider">•</span> <strong>0</strong> problems | <strong>0</strong> Easy | <strong>0</strong> Medium | <strong>0</strong> Hard</p>
770                </div>
771                <!-- Navigation Buttons on right side -->
772                <div class="practice-header-nav">
773                    <button class="nav-btn practice-nav-prev">
774                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"><path d="M15 18l-6-6 6-6"/></svg>
775                    </button>
776                    <button class="nav-btn practice-nav-next">
777                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"><path d="M9 18l6-6-6-6"/></svg>
778                    </button>
779                </div>
780            </div>
781        </div>
782        
783        <!-- Company Stats Slider -->
784<div class="practice-stats-slider-wrap">
785    <div class="swiper practice-stats-slider">
786        <div class="swiper-wrapper">
787            <div class="swiper-slide">
788                <a href="/company/google" class="practice-stat-card">
789                    <div class="practice-stat-icon company-google"><i class="fa-brands fa-google"></i></div>
790                    <div class="practice-stat-info"><span class="practice-stat-value">3407</span><span class="practice-stat-label">Google</span></div>
791                </a>
792            </div>
793            <div class="swiper-slide">
794                <a href="/company/amazon" class="practice-stat-card">
795                    <div class="practice-stat-icon company-amazon"><i class="fa-brands fa-amazon"></i></div>
796                    <div class="practice-stat-info"><span class="practice-stat-value">3399</span><span class="practice-stat-label">Amazon</span></div>
797                </a>
798            </div>
799            <div class="swiper-slide">
800                <a href="/company/microsoft" class="practice-stat-card">
801                    <div class="practice-stat-icon company-microsoft"><i class="fa-brands fa-microsoft"></i></div>
802                    <div class="practice-stat-info"><span class="practice-stat-value">3344</span><span class="practice-stat-label">Microsoft</span></div>
803                </a>
804            </div>
805            <div class="swiper-slide">
806                <a href="/company/meta" class="practice-stat-card">
807                    <div class="practice-stat-icon company-meta"><i class="fa-brands fa-meta"></i></div>
808                    <div class="practice-stat-info"><span class="practice-stat-value">2900</span><span class="practice-stat-label">Meta</span></div>
809                </a>
810            </div>
811            <div class="swiper-slide">
812                <a href="/company/apple" class="practice-stat-card">
813                    <div class="practice-stat-icon company-apple"><i class="fa-brands fa-apple"></i></div>
814                    <div class="practice-stat-info"><span class="practice-stat-value">571</span><span class="practice-stat-label">
814Apple</span></div>
815                </a>
816            </div>
817            <div class="swiper-slide">
818                <a href="/company/facebook" class="practice-stat-card">
819                    <div class="practice-stat-icon company-meta"><i class="fa-brands fa-facebook-f"></i></div>
820                    <div class="practice-stat-info"><span class="practice-stat-value">275</span><span class="practice-stat-label">Facebook</span></div>
821                </a>
822            </div>
823            <div class="swiper-slide">
824                <a href="/company/netflix" class="practice-stat-card">
825                    <div class="practice-stat-icon company-netflix"><i class="fa-solid fa-n"></i></div>
826                    <div class="practice-stat-info"><span class="practice-stat-value">51</span><span class="practice-stat-label">Netflix</span></div>
827                </a>
828            </div>
829            <div class="swiper-slide">
830                <a href="/company/uber" class="practice-stat-card">
831                    <div class="practice-stat-icon company-uber"><i class="fa-brands fa-uber"></i></div>
832                    <div class="practice-stat-info"><span class="practice-stat-value">31</span><span class="practice-stat-label">Uber</span></div>
833                </a>
834            </div>
835            <div class="swiper-slide">
836                <a href="/company/linkedin" class="practice-stat-card">
837                    <div class="practice-stat-icon company-linkedin"><i class="fa-brands fa-linkedin-in"></i></div>
838                    <div class="practice-stat-info"><span class="practice-stat-value">27</span><span class="practice-stat-label">LinkedIn</span></div>
839                </a>
840            </div>
841            <div class="swiper-slide">
842                <a href="/company/twitter" class="practice-stat-card">
843                    <div class="practice-stat-icon company-twitter"><i class="fa-brands fa-x-twitter"></i></div>
844                    <div class="practice-stat-info"><span class="practice-stat-value">17</span><span class="practice-stat-label">Twitter</span></div>
845                </a>
846            </div>
847            <div class="swiper-slide">
848                <a href="/company/spotify" class="practice-stat-card">
849                    <div class="practice-stat-icon company-spotify"><i class="fa-brands fa-spotify"></i></div>
850                    <div class="practice-stat-info"><span class="practice-stat-value">15</span><span class="practice-stat-label">Spotify</span></div>
851                </a>
852            </div>
853            <div class="swiper-slide">
854                <a href="/company/bloomberg" class="practice-stat-card">
855                    <div class="practice-stat-icon company-bloomberg"><i class="fa-solid fa-chart-line"></i></div>
856                    <div class="practice-stat-info"><span class="practice-stat-value">14</span><span class="practice-stat-label">Bloomberg</span></div>
857                </a>
858            </div>
859            <div class="swiper-slide">
860                <a href="/company/adobe" class="practice-stat-card">
861                    <div class="practice-stat-icon company-adobe"><i class="fa-solid fa-a"></i></div>
862                    <div class="practice-stat-info"><span class="practice-stat-value">12</span><span class="practice-stat-label">Adobe</span></div>
863                </a>
864            </div>
865            <div class="swiper-slide">
866                <a href="/company/airbnb" class="practice-stat-card">
867                    <div class="practice-stat-icon company-airbnb"><i class="fa-brands fa-airbnb"></i></div>
868                    <div class="practice-stat-info"><span class="practice-stat-value">12</span><span class="practice-stat-label">Airbnb</span></div>
869                </a>
870            </div>
871            <div class="swiper-slide">
872                <a href="/company/instagram" class="practice-stat-card">
873                    <div class="practice-stat-icon company-meta"><i class="fa-brands fa-instagram"></i></div>
874                    <div class="practice-stat-info"><span class="practice-stat-value">11</span><span class="practice-stat-label">Instagram</span></div>
875                </a>
876            </div>
877            <div class="swiper-slide">
878                <a href="/company/doordash" class="practice-stat-card">
879                    <div class="practice-stat-icon company-uber"><i class="fa-solid fa-burger"></i></div>
880                    <div class="practice-stat-info"><span class="practice-stat-value">9</span><span class="practice-stat-label">DoorDash</span></div>
881                </a>
882            </div>
883            <div class="swiper-slide">
884                <a href="/company/lyft" class="practice-stat-card">
885                    <div class="practice-stat-icon company-airbnb"><i class="fa-brands fa-lyft"></i></div>
886                    <div class="practice-stat-info"><span class="practice-stat-value">9</span><span class="practice-stat-label">
886Lyft</span></div>
887                </a>
888            </div>
889            <div class="swiper-slide">
890                <a href="/company/goldman-sachs" class="practice-stat-card">
891                    <div class="practice-stat-icon company-bloomberg"><i class="fa-solid fa-building-columns"></i></div>
892                    <div class="practice-stat-info"><span class="practice-stat-value">8</span><span class="practice-stat-label">Goldman Sachs</span></div>
893                </a>
894            </div>
895            <div class="swiper-slide">
896                <a href="/company/oracle" class="practice-stat-card">
897                    <div class="practice-stat-icon company-oracle"><i class="fa-solid fa-database"></i></div>
898                    <div class="practice-stat-info"><span class="practice-stat-value">8</span><span class="practice-stat-label">Oracle</span></div>
899                </a>
900            </div>
901            <div class="swiper-slide">
902                <a href="/company/bytedance" class="practice-stat-card">
903                    <div class="practice-stat-icon company-twitter"><i class="fa-brands fa-tiktok"></i></div>
904                    <div class="practice-stat-info"><span class="practice-stat-value">8</span><span class="practice-stat-label">ByteDance</span></div>
905                </a>
906            </div>
907        </div>
908    </div>
909</div>
910        <!-- Search & Filters -->
911        <div class="practice-filters" id="filterForm">
912            <div class="practice-search">
913                <i class="fa-sharp fa-light fa-magnifying-glass practice-search-icon"></i>
914                <input type="text" id="problemSearch" placeholder="Search problems..." value="">
915            </div>
916            <div class="practice-filter-btns">
917                <button type="button" class="practice-filter-btn active" data-difficulty="">All</button>
918                <button type="button" class="practice-filter-btn " data-difficulty="Easy">Easy</button>
919                <button type="button" class="practice-filter-btn " data-difficulty="Medium">Medium</button>
920                <button type="button" class="practice-filter-btn " data-difficulty="Hard">Hard</button>
921            </div>
922        </div>
923
924        <!-- Problem Table -->
925        <div class="practice-table-container">
926            <table class="practice-table">
927                <thead>
928                    <tr>
929                        <th style="width:50px">#</th>
930                        <th>Problem</th>
931                        <th style="width:120px;">Difficulty</th>
932                        <th style="width:280px;">Topics</th>
933                    </tr>
934                </thead>
935                <tbody id="problemsTableBody">
936                                                            <tr>
937                        <td>1</td>
938                        <td><a href="/practice/add-one-row-to-tree.htm" class="practice-problem-link">Add One Row to Tree</a></td>
939                        <td><span class="practice-difficulty medium">Medium</span></td>
940                        <td><div class="practice-topics"><span class="practice-topic-tag">Tree</span><span class="practice-topic-tag">Depth-First Search</span><span class="practice-topic-tag">Breadth-First Search</span></div></td>
941                    </tr>
942                                        <tr>
943                        <td>2</td>
944                        <td><a href="/practice/alien-dictionary.htm" class="practice-problem-link">Alien Dictionary</a></td>
945                        <td><span class="practice-difficulty hard">Hard</span></td>
946                        <td><div class="practice-topics"><span class="practice-topic-tag">Array</span><span class="practice-topic-tag">String</span><span class="practice-topic-tag">Depth-First Search</span></div></td>
947                    </tr>
948                                        <tr>
949                        <td>3</td>
950                        <td><a href="/practice/all-ancestors-of-a-node-in-a-directed-acyclic-graph.htm" class="practice-problem-link">All Ancestors of a Node in a Directed Acyclic Graph</a></td>
951                        <td><span class="practice-difficulty medium">Medium</span></td>
952                        <td><div class="practice-topics"><span class="practice-topic-tag">Depth-First Search</span><span class="practice-topic-tag">Breadth-First Search</span><span class="practice-topic-tag">Graph</span></div></td>
953                    </tr>
954                                        <tr>
955                        <td>4</td>
956                        <td><a href="/practice/all-elements-in-two-binary-search-trees.htm" class="practice-problem-link">All Elements in Two Binary Search Trees</a></td>
957                        <td><span class="practice-difficulty medium">Medium</span></td>
958                        <td><div class="practice-topics"><span class="practice-topic-tag">Tree</span><span class="practice-topic-tag">Depth-First Search</span><span class="practice-topic-tag">Binary Search Tree</span></div></td>
959                    </tr>
960                                        <tr>
961                        <td>5</td>
962                        <td><a href="/practice/all-nodes-distance-k-in-binary-tree.htm" class="practice-problem-link">All Nodes Distance K in Binary Tree</a></td>
963                        <td><span class="practice-difficulty medium">Medium</span></td>
964                        <td><div class="practice-topics"><span class="practice-topic-tag">Hash Table</span><span class="practice-topic-tag">Tree</span><span class="practice-topic-tag">Depth-First Search</span></div></td>
965                    </tr>
966                                        <tr>
967                        <td>6</td>
968                        <td><a href="/practice/all-paths-from-source-to-target.htm" class="practice-problem-link">All Paths From Source to Target</a></td>
969                        <td><span class="practice-difficulty medium">Medium</span></td>
970                        <td><div class="practice-topics"><span class="practice-topic-tag">Backtracking</span><span class="practice-topic-tag">Depth-First Search</span><span class="practice-topic-tag">Breadth-First Search</span></div></td>
971                    </tr>
972                                        <tr>
973                        <td>7</td>
974                        <td><a href="/practice/amount-of-time-for-binary-tree-to-be-infected.htm" class="practice-problem-link">Amount of Time for Binary Tree to Be Infected</a></td>
975                        <td><span class="practice-difficulty medium">Medium</span></td>
976                        <td><div class="practice-topics"><span class="practice-topic-tag">Hash Table</span><span class="practice-topic-tag">Tree</span><span class="practice-topic-tag">Depth-First Search</span></div></td>
977                    </tr>
978                                        <tr>
979                        <td>8</td>
980                        <td><a href="/practice/apply-substitutions.htm" class="practice-problem-link">Apply Substitutions</a></td>
981                        <td><span class="practice-difficulty medium">Medium</span></td>
982                        <td><div class="practice-topics"><span class="practice-topic-tag">Array</span><span class="practice-topic-tag">Hash Table</span><span class="practice-topic-tag">String</span></div></td>
983                    </tr>
984                                        <tr>
985                        <td>9</td>
986                        <td><a href="/practice/array-nesting.htm" class="practice-problem-link">Array Nesting</a></td>
987                        <td><span class="practice-difficulty medium">Medium</span></td>
988                        <td><div class="practice-topics"><span class="practice-topic-tag">Array</span><span class="practice-topic-tag">Depth-First Search</span></div></td>
989                    </tr>
990                                        <tr>
991                        <td>10</td>
992                        <td><a href="/practice/average-of-levels-in-binary-tree.htm" class="practice-problem-link">Average of Levels in Binary Tree</a></td>
993                        <td><span class="practice-difficulty easy">Easy</span></td>
994                        <td><div class="practice-topics"><span class="practice-topic-tag">Tree</span><span class="practice-topic-tag">Depth-First Search</span><span class="practice-topic-tag">Breadth-First Search</span></div></td>
995                    </tr>
996                                        <tr>
997                        <td>11</td>
998                        <td><a href="/practice/balance-a-binary-search-tree.htm" class="practice-problem-link">Balance a Binary Search Tree</a></td>
999                        <td><span class="practice-difficulty medium">Medium</span></td>
1000                        <td><div class="practice-topics"><span class="practice-topic-tag">Divide and Conquer</span><span class="practice-topic-tag">Greedy</span><span class="practice-topic-tag">Tree</span></div></td>
1001                    </tr>
1002                                        <tr>
1003                        <td>12</td>
1004                        <td><a href="/practice/balanced-binary-tree.htm" class="practice-problem-link">Balanced Binary Tree</a></td>
1005                        <td><span class="practice-difficulty easy">Easy</span></td>
1006                        <td><div class="practice-topics"><span class="practice-topic-tag">Tree</span><span class="practice-topic-tag">Depth-First Search</span><span class="practice-topic-tag">Binary Tree</span></div></td>
1007                    </tr>
1008                                        <tr>
1009                        <td>13</td>
1010                        <td><a href="/practice/battleships-in-a-board.htm" class="practice-problem-link">Battleships in a Board</a></td>
1011                        <td><span class="practice-difficulty medium">Medium</span></td>
1012                        <td><div class="practice-topics"><span class="practice-topic-tag">Array</span><span class="practice-topic-tag">Depth-First Search</span><span class="practice-topic-tag">Matrix</span></div></td>
1013                    </tr>
1014                                        <tr>
1015                        <td>14</td>
1016                        <td><a href="/practice/binary-search-tree-to-greater-sum-tree.htm" class="practice-problem-link">Binary Search Tree to Greater Sum Tree</a></td>
1017                        <td><span class="practice-difficulty medium">Medium</span></td>
1018                        <td><div class="practice-topics"><span class="practice-topic-tag">Tree</span><span class="practice-topic-tag">Depth-First Search</span><span class="practice-topic-tag">Binary Search Tree</span></div></td>
1019                    </tr>
1020                                        <tr>
1021                        <td>15</td>
1022                        <td><a href="/practice/binary-tree-cameras.htm" class="practice-problem-link">Binary Tree Cameras</a></td>
1023                        <td><span class="practice-difficulty hard">Hard</span></td>
1024                        <td><div class="practice-topics"><span class="practice-topic-tag">Dynamic Programming</span><span class="practice-topic-tag">Tree</span><span class="practice-topic-tag">Depth-First Search</span></div></td>
1025                    </tr>
1026                                                        </tbody>
1027            </table>
1028        </div>
1029
1030        <!-- Pagination -->
1031        <div class="practice-pagination" id="problemsPagination">
1032                    <div class="practice-pagination-info">
1032Showing <span>1</span>-<span>15</span> of <span>0</span></div>
1033                </div>
1034    </section>
1035
1036<!-- Tutorials Library Section - Prototype 6 -->
1037<div class="container proto6-layout">
1038    <div class="proto6-sidebar">
1039        <h2>Tutorials <span style="color: #fff20d;">Library</span></h2>
1040        <p>Master any technology with our largest free online Library. Browse through 500+ tutorials across 10+ categories.</p>
1041        
1042        <div class="proto6-cat-list">
1043            <a href="/computer_programming_tutorials.htm" class="proto6-cat-item active">
1044                Programming Languages <span class="count">20</span>
1045            </a>
1046            <a href="/latest_technologies.htm" class="proto6-cat-item">
1047                Latest Technologies <span class="count">12</span>
1048            </a>
1049            <a href="/machine_learning_tutorials.htm" class="proto6-cat-item">
1050                Machine Learning <span class="count">18</span>
1051            </a>
1052            <a href="/computer_science_tutorials.htm" class="proto6-cat-item">
1053                Computer Science <span class="count">15</span>
1054            </a>
1055            <a href="/web_development_tutorials.htm" class="proto6-cat-item">
1056                Web Development <span class="count">25</span>
1057            </a>
1058            <a href="/mobile_development_tutorials.htm" class="proto6-cat-item">
1059                Mobile Development <span class="count">10</span>
1060            </a>
1061            <a href="/database_tutorials.htm" class="proto6-cat-item">
1062                Databases <span class="count">14</span>
1063            </a>
1064        </div>
1065    </div>
1066
1067    <div class="proto6-main">
1068        <a href="/python/index.htm" class="proto6-card">
1069            <img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/python/python-original.svg" alt="Python">
1070            <h4>Python Tutorial</h4>
1071        </a>
1072        <a href="/java/index.htm" class="proto6-card">
1073            <img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/java/java-original.svg" alt="Java">
1074            <h4>Java Tutorial</h4>
1075        </a>
1076        <a href="/javascript/index.htm" class="proto6-card">
1077            <img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/javascript/javascript-original.svg" alt="JavaScript">
1078            <h4>JavaScript</h4>
1079        </a>
1080        <a href="/cplusplus/index.htm" class="proto6-card">
1081            <img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/cplusplus/cplusplus-original.svg" alt="C++">
1082            <h4>C++ Tutorial</h4>
1083        </a>
1084        <a href="/csharp/index.htm" class="proto6-card">
1085            <img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/csharp/csharp-original.svg" alt="C#">
1086            <h4>C# Tutorial</h4>
1087        </a>
1088        <a href="/go/index.htm" class="proto6-card">
1089            <img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/go/go-original.svg" alt="Go">
1090            <h4>Go Tutorial</h4>
1091        </a>
1092        <a href="/rust/index.htm" class="proto6-card">
1093            <img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/rust/rust-original.svg" alt="Rust">
1094            <h4>Rust Tutorial</h4>
1095        </a>
1096        <a href="/typescript/index.htm" class="proto6-card">
1097            <img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/typescript/typescript-original.svg" alt="TypeScript">
1098            <h4>TypeScript</h4>
1099        </a>
1100        <a href="/swift/index.htm" class="proto6-card">
1101            <img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/swift/swift-original.svg" alt="Swift">
1102            <h4>Swift Tutorial</h4>
1103        </a>
1104        <a href="/kotlin/index.htm" class="proto6-card">
1105            <img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/kotlin/kotlin-original.svg" alt="Kotlin">
1106            <h4>Kotlin Tutorial</h4>
1107        </a>
1108        <a href="/ruby/index.htm" class="proto6-card">
1109            <img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/ruby/ruby-original.svg" alt="Ruby">
1110            <h4>Ruby Tutorial</h4>
1111        </a>
1112        <a href="/php/index.htm" class="proto6-card">
1113            <img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/php/php-original.svg" alt="PHP">
1114            <h4>PHP Tutorial</h4>
1115        </a>
1116        <a href="/cprogramming/index.htm" class="proto6-card">
1117            <img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/c/c-original.svg" alt="C">
1118            <h4>C Tutorial</h4>
1119        </a>
1120        <a href="/scala/index.htm" class="proto6-card">
1121            <img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/scala/scala-original.svg" alt="Scala">
1122            <h4>Scala Tutorial</h4>
1123        </a>
1124        <a href="/perl/index.htm" class="proto6-card">
1125            <img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/perl/perl-original.svg" alt="Perl">
1126            <h4>Perl Tutorial</h4>
1127        </a>
1128        <a href="/r/index.htm" class="proto6-card">
1129            <img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/r/r-original.svg" alt="R">
1130            <h4>R Tutorial</h4>
1131        </a>
1132        <a href="/dart_programming/index.htm" class="proto6-card">
1133            <img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/dart/dart-original.svg" alt="Dart">
1134            <h4>Dart Tutorial</h4>
1135        </a>
1136        <a href="/lua/index.htm" class="proto6-card">
1137            <img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/lua/lua-original.svg" alt="Lua">
1138            <h4>Lua Tutorial</h4>
1139        </a>
1140        <a href="/matlab/index.htm" class="proto6-card">
1141            <img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/matlab/matlab-original.svg" alt="MATLAB">
1142            <h4>MATLAB</h4>
1143        </a>
1144        <a href="/haskell/index.htm" class="proto6-card">
1145            <img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/haskell/haskell-original.svg" alt="Haskell">
1146            <h4>Haskell</h4>
1147        </a>
1148    </div>
1149</div>
1150    <!-- Developer Toolbox Section -->
1151    <section class="dev-tools-section container">
1152        <div class="dev-tools-card">
1153            <div class="dev-tools-header">
1154                <div>
1155                    <h2 class="dev-tools-title">Developer <span>Toolbox</span></h2>
1156                    <p class="dev-tools-subtitle">Powerful online tools to boost your productivity</p>
1157                </div>
1158                <div class="dev-tools-nav">
1159                    <button class="nav-btn dev-tools-prev">
1160                        <svg viewBox="0 0 24 24" fill="none" stroke="#666" stroke-width="2.5" stroke-linecap="round"><path d="M15 18l-6-6 6-6"/></svg>
1161                    </button>
1162                    <button class="nav-btn dev-tools-next">
1163                        <svg viewBox="0 0 24 24" fill="none" stroke="#666" stroke-width="2.5" stroke-linecap="round"><path d="M9 18l6-6-6-6"/></svg>
1164                    </button>
1165                </div>
1166            </div>
1167
1168            <div class="dev-tools-slider-wrap">
1169                <div class="swiper dev-tools-slider">
1170                    <div class="swiper-wrapper">
1171                        <div class="swiper-slide">
1172                            <a href="https://www.tutorialspoint.com/online_javascript_minifier.htm" class="dev-tool-card">
1173                                <svg viewBox="0 0 24 24" fill="none" stroke="#d97706" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
1174                                    <path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path>
1175                                    <polyline points="14 2 14 8 20 8"></polyline>
1176                                    <line x1="9" y1="15" x2="15" y2="15"></line>
1177                                </svg>
1178                                <h4>JS Minifier</h4>
1179                            </a>
1180                        </div>
1181                        <div class="swiper-slide">
1182                            <a href="https://www.tutorialspoint.com/whiteboard.htm" class="dev-tool-card">
1183                                <svg viewBox="0 0 24 24" fill="none" stroke="#2563eb" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
1184                                    <rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect>
1185                                    <line x1="3" y1="9" x2="21" y2="9"></line>
1186                                    <line x1="9" y1="21" x2="9" y2="9"></line>
1187                                </svg>
1188                                <h4>Whiteboard</h4>
1189                            </a>
1190                        </div>
1191                        <div class="swiper-slide">
1192                            <a href="https://www.tutorialspoint.com/online_image_editor.htm" class="dev-tool-card">
1193                                <svg viewBox="0 0 24 24" fill="none" stroke="#7c3aed" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
1194                                    <rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect>
1195                                    <circle cx="8.5" cy="8.5" r="1.5"></circle>
1196                                    <polyline points="21 15 16 10 5 21"></polyline>
1197                                </svg>
1198                                <h4>Image Editor</h4>
1199                            </a>
1200                        </div>
1201                        <div class="swiper-slide">
1202                            <a href="https://www.tutorialspoint.com/online_document_viewer.php" class="dev-tool-card">
1203                                <svg viewBox="0 0 24 24" fill="none" stroke="#db2777" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
1204                                    <path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path>
1205                                    <polyline points="14 2 14 8 20 8"></polyline>
1206                                    <line x1="16" y1="13" x2="8" y2="13"></line>
1207                                    <line x1="16" y1="17" x2="8" y2="17"></line>
1208                                </svg>
1209                                <h4>Doc Viewer</h4>
1210                            </a>
1211                        </div>
1212                        <div class="swiper-slide">
1213                            <a href="https://www.tutorialspoint.com/latex_equation_editor.htm" class="dev-tool-card">
1214                                <svg viewBox="0 0 24 24" fill="none" stroke="#059669" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
1215                                    <line x1="4" y1="9" x2="20" y2="9"></line>
1216                                    <line x1="4" y1="15" x2="20" y2="15"></line>
1217                                    <line x1="10" y1="3" x2="8" y2="21"></line>
1218                                    <line x1="16" y1="3" x2="14" y2="21"></line>
1219                                </svg>
1220                                <h4>LaTeX Editor</h4>
1221                            </a>
1222                        </div>
1223                        <div class="swiper-slide">
1224                            <a href="https://www.tutorialspoint.com/online_json_editor.htm" class="dev-tool-card">
1225                                <svg viewBox="0 0 24 24" fill="none" stroke="#ea580c" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
1226                                    <polyline points="16 18 22 12 16 6"></polyline>
1227                                    <polyline points="8 6 2 12 8 18"></polyline>
1228                                </svg>
1229                                <h4>JSON Editor</h4>
1230                            </a>
1231                        </div>
1232                        <div class="swiper-slide">
1233                            <a href="https://www.tutorialspoint.com/qr_code_generator.htm" class="dev-tool-card">
1234                                <svg viewBox="0 0 24 24" fill="none" stroke="#0891b2" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
1235                                    <rect x="3" y="3" width="7" height="7"></rect>
1236                                    <rect x="14" y="3" width="7" height="7"></rect>
1237                                    <rect x="14" y="14" width="7" height="7"></rect>
1238                                    <rect x="3" y="14" width="7" height="7"></rect>
1239                                </svg>
1240                                <h4>QR Generator</h4>
1241                            </a>
1242                        </div>
1243                        <div class="swiper-slide">
1244                            <a href="https://www.tutorialspoint.com/effective_resume_writing.htm" class="dev-tool-card">
1245                                <svg viewBox="0 0 24 24" fill="none" stroke="#10b981" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
1246                                    <path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path>
1247                                    <polyline points="14 2 14 8 20 8"></polyline>
1248                                    <line x1="8" y1="13" x2="16" y2="
124813"></line>
1249                                    <line x1="8" y1="17" x2="16" y2="17"></line>
1250                                    <circle cx="10" cy="7" r="1"></circle>
1251                                </svg>
1252                                <h4>Resume Builder</h4>
1253                            </a>
1254                        </div>
1255                        <div class="swiper-slide">
1256                            <a href="https://www.tutorialspoint.com/online_dev_tools.htm" class="dev-tool-card dev-tool-view-all">
1257                                <svg viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
1258                                    <circle cx="12" cy="12" r="10"></circle>
1259                                    <line x1="12" y1="8" x2="12" y2="16"></line>
1260                                    <line x1="8" y1="12" x2="16" y2="12"></line>
1261                                </svg>
1262                                <h4>View All</h4>
1263                            </a>
1264                        </div>
1265                    </div>
1266                </div>
1267            </div>
1268        </div>
1269    </section>
1270    <!-- Coding Ground Section -->
1271    <section class="coding-ground container">
1272        <div class="coding-ground-card">
1273            <div class="coding-ground__grid">
1274                <div class="coding-ground__image-wrapper">
1275                    <div class="coding-ground__code-block">
1276                        <div class="code-line">
1277                            <span class="code-keyword">public</span>&nbsp;<span class="code-keyword">class</span>&nbsp;<span class="code-class">MyFirstJavaProgram</span>&nbsp;{
1278                            <a href="/online_java_compiler.php" target="_blank" class="edit-btn">Edit & Run <i class="fa-solid fa-gear"></i></a>
1279                        </div>
1280                        <br>
1281                        <div class="code-line"><span class="code-comment">&nbsp;&nbsp;&nbsp;/* This is my first java program.</span></div>
1282                        <div class="code-line"><span class="code-comment">&nbsp;&nbsp;&nbsp;&nbsp;* This will print 'Hello, World!' as the output</span></div>
1283                        <div class="code-line"><span class="code-comment">&nbsp;&nbsp;&nbsp;&nbsp;*/</span></div>
1284                        <br>
1285                        <div class="code-line">&nbsp;&nbsp;&nbsp;<span class="code-keyword">public</span>&nbsp;<span class="code-keyword">static</span>&nbsp;<span class="code-keyword">void</span>&nbsp;<span class="code-method">main</span>(String []args) {</div>
1286                        <div class="code-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.<span class="code-method">println</span>(<span class="code-string">"Hello, World!"</span>); <span class="code-comment">// prints</span></div>
1287                        <div class="code-line">&nbsp;&nbsp;&nbsp;}</div>
1288                        <div class="code-line">}</div>
1289                    </div>
1290                </div>
1291                <div class="coding-ground__content">
1292                    <h2><span class="coding-ground__start">Start Coding</span> <span>in Seconds</span></h2>
1293                    <p class="coding-ground__subtitle">Coding Ground For Developers</p>
1294                    <span class="coding-ground__badge">Code, Edit, Run and Share</span>
1295                    <p class="coding-ground__description">Ignite your coding potential on Coding Ground - an immersive online platform for hands-on learning, collaboration, and skill development.</p>
1296                    <div class="coding-ground__buttons">
1297                        <a href="/online_java_compiler.php" class="coding-ground__btn coding-ground__btn--java" target="_blank"><strong>Java</strong> Compiler</a>
1298                        <a href="/online_python_compiler.php" class="coding-ground__btn coding-ground__btn--python" target="_blank"><strong>Python</strong> Compiler</a>
1299                        <a href="/compile_cpp_online.php" class="coding-ground__btn coding-ground__btn--cpp" target="_blank"><strong>C++</strong> Compiler</a>
1300                        <a href="/online_html_editor.php" class="coding-ground__btn coding-ground__btn--html" target="_blank"><strong>HTML</strong> Editor</a>
1301                    </div>
1302                </div>
1303            </div>
1304        </div>
1305    </section>
1306
1307    
1307<script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
1307
1308    
1308<script>
1309        new Swiper('.banner-slider', {
1310            slidesPerView: 'auto',
1311            spaceBetween: 16,
1312            freeMode: true,
1313            navigation: {
1314                nextEl: '.nav-next',
1315                prevEl: '.nav-prev',
1316            },
1317        });
1318
1319        // See All / Collapse Toggle
1320        const seeAllBtn = document.getElementById('seeAllBtn');
1321        const collapseBtn = document.getElementById('collapseBtn');
1322        const cardsGrid = document.getElementById('cardsGrid');
1323        const cardsExpanded = document.getElementById('cardsExpanded');
1324
1325        seeAllBtn.addEventListener('click', function() {
1326            cardsGrid.classList.add('hidden');
1327            cardsExpanded.classList.add('active');
1328        });
1329
1330        collapseBtn.addEventListener('click', function() {
1331            cardsExpanded.classList.remove('active');
1332            cardsGrid.classList.remove('hidden');
1333        });
1334
1335        // Initialize Practice Stats Slider
1336        new Swiper('.practice-stats-slider', {
1337            slidesPerView: 'auto',
1338            spaceBetween: 16,
1339            freeMode: true,
1340            navigation: {
1341                nextEl: '.practice-nav-next',
1342                prevEl: '.practice-nav-prev',
1343            },
1344        });
1345
1346        // Initialize Developer Tools Slider
1347        new Swiper('.dev-tools-slider', {
1348            slidesPerView: 'auto',
1349            spaceBetween: 16,
1350            freeMode: true,
1351            navigation: {
1352                nextEl: '.dev-tools-next',
1353                prevEl: '.dev-tools-prev',
1354            },
1355        });
1356    </script>
1356
1357
1358    <!-- Footer -->
1359    <footer class="footer">
1360        <ul class="footer__list container">
1361            <li><a href="/about/index.htm" title="ABOUT US">ABOUT US</a></li>
1362            <li><a href="/about/about_team.htm" title="OUR TEAM">OUR TEAM</a></li>
1363            <li><a href="/about/about_careers.htm" title="CAREERS">CAREERS</a></li>
1364            <li><a href="/job_search.php" title="JOBS">JOBS</a></li>
1365            <li><a href="/about/contact_us.htm" title="CONTACT US">CONTACT US</a></li>
1366            <li><a href="/about/about_terms_of_use.htm" title="TERMS OF USE">TERMS OF USE</a></li>
1367            <li><a href="/about/about_privacy.htm" title="PRIVACY POLICY">PRIVACY POLICY</a></li>
1368            <li><a href="/about/return_refund_policy.htm" title="REFUND POLICY">REFUND POLICY</a></li>
1369            <li><a href="/about/about_cookies.htm" title="COOKIES POLICY">COOKIES POLICY</a></li>
1370            <li><a href="/about/faq.htm" title="FAQ'S">FAQ'S</a></li>
1371        </ul>
1372        <div class="footer__socials container">
1373            <img class="footer__logo" src="https://www.tutorialspoint.com/static/images/logo-footer.svg" alt="tutorials point logo">
1374            <div class="footer__social-icons">
1375                <a rel="nofollow" target="_blank" href="https://www.facebook.com/tutorialspointindia" title="Follow us on Facebook">
1376                    <i class="fa-brands fa-facebook-f"></i>
1377                </a>
1378                <a target="_blank" href="https://x.com/tutorialspoint" rel="nofollow" title="Follow us on X">
1379                    <i class="fa-brands fa-x-twitter"></i>
1380                </a>
1381                <a target="_blank" href="https://www.youtube.com/channel/UCVLbzhxVTiTLiVKeGV7WEBg" rel="nofollow" title="Follow us on Youtube">
1382                    <i class="fa-brands fa-youtube"></i>
1383                </a>
1384                <a target="_blank" href="https://www.linkedin.com/company/tutorialspoint/" rel="nofollow" title="Follow us on LinkedIn">
1385                    <i class="fa-brands fa-linkedin-in"></i>
1386                </a>
1387                <a target="_blank" href="https://www.instagram.com/tutorialspoint_/" rel="nofollow" title="Follow us on Instagram">
1388                    <i class="fa-brands fa-instagram"></i>
1389                </a>
1390            </div>
1391            <div class="footer__apps">
1392                <a href="https://play.google.com/store/apps/details?id=com.tutorialspoint.onlineviewer" target="_blank" title="Download Android App" rel="nofollow">
1393                    <img src="https://www.tutorialspoint.com/static/images/googleplay.svg" alt="Download Android App">
1394                </a>
1395                <a href="https://itunes.apple.com/us/app/tutorials-point/id914891263?ls=1&mt=8" target="_blank" title="Download IOS App" rel="nofollow">
1396                    <img src="https://www.tutorialspoint.com/static/images/appstore.svg" alt="Download IOS App">
1397                </a>
1398            </div>
1399        </div>
1400        <div class="footer__legal-wrapper">
1401            <div class="footer__legal container">
1402                <p>Tutorials Point is a leading Ed Tech company striving to provide the best learning material on technical and non-technical subjects.</p>
1403                <p class="footer__copyright">Copyright 2026. All Rights Reserved.</p>
1404            </div>
1405        </div>
1406    </footer>
1407<script src="/practice/js/practice-common.js?v6"></script>
1407
1408<!-- AJAX Filter & Pagination Script -->
1409<script>
1410(function() {
1411    const topicId = 'depth-first-search';
1412    let currentPage = 1;
1413    let currentDifficulty = '';
1414    let currentSearch = '';
1415    let searchTimeout = null;
1416    let isLoading = false;
1417
1418    // Start Practicing button with spinner
1419    const startPracticingBtn = document.getElementById('startPracticingBtn');
1420    if (startPracticingBtn) {
1421        startPracticingBtn.addEventListener('click', function(e) {
1422            e.preventDefault();
1423            this.classList.add('loading');
1424            
1425            // Scroll to problems section
1426            const target = document.getElementById('topicProblemsSection');
1427            if (target) {
1428                const headerOffset = 80;
1429                const elementPosition = target.getBoundingClientRect().top;
1430                const offsetPosition = elementPosition + window.pageYOffset - headerOffset;
1431                
1432                window.scrollTo({
1433                    top: offsetPosition,
1434                    behavior: 'smooth'
1435                });
1436                
1437                // Remove loading state after scroll completes
1438                setTimeout(() => {
1439                    this.classList.remove('loading');
1440                }, 800);
1441            } else {
1442                this.classList.remove('loading');
1443            }
1444        });
1445    }
1446
1447    // Elements
1448    const tableBody = document.getElementById('problemsTableBody');
1449    const pagination = document.getElementById('problemsPagination');
1450    const searchInput = document.getElementById('problemSearch');
1451    const difficultyBtns = document.querySelectorAll('.practice-filter-btn[data-difficulty]');
1452
1453    // Loading indicator
1454    function showLoading() {
1455        isLoading = true;
1456        tableBody.innerHTML = '<tr><td colspan="4" style="text-align:center;padding:40px;"><i class="fa-solid fa-spinner fa-spin" style="font-size:24px;color:#40A944;"></i></td></tr>';
1457    }
1458
1459    // Fetch problems via AJAX
1460    function fetchProblems(page, callback) {
1461        if (isLoading) return;
1462        showLoading();
1463        
1464        const params = new URLSearchParams({
1465            topic_id: topicId,
1466            page: page,
1467            ajax: '1'
1468        });
1469        
1470        if (currentDifficulty) params.append('difficulty', currentDifficulty);
1471        if (currentSearch) params.append('search', currentSearch);
1472
1473        fetch('/practice/topic-ajax.php?' + params.toString())
1474            .then(response => response.json())
1475            .then(data => {
1476                isLoading = false;
1477                if (callback) callback();
1478                
1479                if (data.success) {
1480                    tableBody.innerHTML = data.tableHtml;
1481                    pagination.innerHTML = data.paginationHtml;
1482                    currentPage = data.page;
1483                    
1484                    // Update URL for pagination (SEO-friendly, allows bookmarking)
1485                    // Only update URL for pagination, not for filters (filters are AJAX-only)
1486                    if (!currentDifficulty && !currentSearch) {
1487                        const newUrl = buildPageUrl(data.page);
1488                        history.pushState({ page: data.page }, '', newUrl);
1489                    }
1490                    
1491                    // Re-attach pagination click handlers
1492                    attachPaginationHandlers();
1493                    
1494                    // Scroll to topic problems section with offset for sticky header
1495                    const target = document.getElementById('topicProblemsSection');
1496                    const headerOffset = 80; // Account for sticky header height
1497                    const elementPosition = target.getBoundingClientRect().top;
1498                    const offsetPosition = elementPosition + window.pageYOffset - headerOffset;
1499                    
1500                    window.scrollTo({
1501                        top: offsetPosition,
1502                        behavior: 'smooth'
1503                    });
1504                }
1505            })
1506            .catch(error => {
1507                isLoading = false;
1508                if (callback) callback();
1509                console.error('Error fetching problems:', error);
1510                tableBody.innerHTML = '<tr><td colspan="4" style="text-align:center;padding:40px;color:#dc3545;">Error loading problems. Please try again.</td></tr>';
1511            });
1512    }
1513
1514    // Build SEO-friendly URL for pagination
1515    function buildPageUrl(page) {
1516        if (page <= 1) {
1517            return '/topic/' + topicId;
1518        }
1519        return '/topic/' + topicId + '/' + page;
1520    }
1521
1522    // Check if any filters are active
1523    function hasActiveFilters() {
1524        return currentDifficulty || currentSearch;
1525    }
1526
1527    // Attach click handlers to pagination links
1528    function attachPaginationHandlers() {
1529        document.querySelectorAll('.practice-pagination-btns a[data-page]').forEach(link => {
1530            link.addEventListener('click', function(e) {
1531                // If no filters active, let browser navigate normally (use cached page)
1532                if (!hasActiveFilters()) {
1533                    // Show spinner on the clicked button for normal navigation
1534                    this.innerHTML = '<i class="fa-solid fa-spinner fa-spin"></i>';
1535                    this.style.pointerEvents = 'none';
1536                    // Set flag to scroll after page load
1537                    sessionStorage.setItem('scrollToProblems', 'true');
1538                    return; // Don't prevent default - browser will navigate to href
1539                }
1540                
1541                // Filters are active - use AJAX
1542                e.preventDefault();
1543                const page = parseInt(this.getAttribute('data-page'));
1544                if (page && page !== currentPage) {
1545                    // Show spinner on clicked button
1546                    const clickedBtn = this;
1547                    clickedBtn.innerHTML = '<i class="fa-solid fa-spinner fa-spin"></i>';
1548                    clickedBtn.style.pointerEvents = 'none';
1549                    
1550                    fetchProblems(page, function() {
1551                        // Restore button after load (though it will be replaced by new pagination HTML)
1552                        clickedBtn.style.pointerEvents = '';
1553                    });
1554                }
1555            });
1556        });
1557    }
1558    
1559    // Check if we need to scroll after page load (from pagination click)
1560    if (sessionStorage.getItem('scrollToProblems') === 'true') {
1561        sessionStorage.removeItem('scrollToProblems');
1562        // Scroll to problems section with offset for sticky header
1563        setTimeout(function() {
1564            const target = document.getElementById('topicProblemsSection');
1565            if (target) {
1566                const headerOffset = 80;
1567                const elementPosition = target.getBoundingClientRect().top;
1568                const offsetPosition = elementPosition + window.pageYOffset - headerOffset;
1569                window.scrollTo({ top: offsetPosition, behavior: 'auto' });
1570            }
1571        }, 100);
1572    }
1573
1574    // Difficulty filter click
1575    difficultyBtns.forEach(btn => {
1576        btn.addEventListener('click', function() {
1577            const diff = this.getAttribute('data-difficulty');
1578            
1579            // Update active state
1580            difficultyBtns.forEach(b => b.classList.remove('active'));
1581            this.classList.add('active');
1582            
1583            currentDifficulty = diff;
1584            currentPage = 1; // Reset to page 1
1585            fetchProblems(1);
1586        });
1587    });
1588
1589    // Search input with debounce
1590    searchInput.addEventListener('input', function() {
1591        clearTimeout(searchTimeout);
1592        const value = this.value.trim();
1593        
1594        searchTimeout = setTimeout(function() {
1595            currentSearch = value;
1596            currentPage = 1; // Reset to page 1
1597            fetchProblems(1);
1598        }, 400); // 400ms debounce
1599    });
1600
1601    // Handle Enter key on search
1602    searchInput.addEventListener('keypress', function(e) {
1603        if (e.key === 'Enter') {
1604            clearTimeout(searchTimeout);
1605            currentSearch = this.value.trim();
1606            currentPage = 1;
1607            fetchProblems(1);
1608        }
1609    });
1610
1611    // Handle browser back/forward buttons
1612    window.addEventListener('popstate', function(e) {
1613        if (e.state && e.state.page) {
1614            fetchProblems(e.state.page);
1615        }
1616    });
1617
1618    // Initial setup - attach pagination handlers
1619    attachPaginationHandlers();
1620    
1621    // Store initial state
1622    history.replaceState({ page: currentPage }, '', window.location.href);
1623})();
1624</script>
1624
1625<!-- Google tag (gtag.js) -->
vendor: 64 bytes, lines 1625-1626
1625
1626<script async src="https://www.googletagmanager.com/gtag/js?id=
1626G-EX9ZP4VY84
vendor: 12 bytes, line 1626
1626"></script>
1627<script>
1628     
vendor: 142 bytes, lines 1628-1631
1628window.dataLayer = window.dataLayer || [];
1629     function gtag(){dataLayer.push(arguments);}
1630     gtag('js', new Date());
1631     gtag('config', '
1631G-EX9ZP4VY84
vendor: 4 bytes, line 1631
1631');
1632</script>
1632
1633</body>
1634</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.