``` ├── .gitignore ├── LICENSE ├── Media/ ├── Badges/ ├── Annual-Medals/ ├── GIF/ ├── 2021-annual-badge.gif ├── 2022-annual.gif ├── 2023-100.gif ├── 2023-50.gif ├── 2023.gif ├── 2024-100-new.gif ├── 2024-200.gif ├── 2024-50.gif ├── 2024.gif ├── PNG/ ├── 2022-annual.png ├── 2024-100-lg.png ├── 2024-200-lg.png ├── 2024-50-lg.png ├── 2024-lg.png ├── annual-badge-2021-front.png ├── lg100.png ├── lg2023.png ├── lg50.png ├── Competition-Medals/ ├── GIF/ ├── Guardian.gif ├── Knight.gif ├── PNG/ ├── guardian.png ├── knight.png ├── Daily-Medals/ ├── GIF/ ├── 2021-01.gif ├── 2021-02.gif ├── 2021-03.gif ├── 2021-04.gif ├── 2021-05.gif ├── 2021-06.gif ├── 2021-07.gif ├── 2021-08.gif ├── 2021-09.gif ├── 2021-10.gif ├── 2021-11.gif ├── 2021-12.gif ├── 2022-01.gif ├── 2022-02.gif ├── 2022-03.gif ├── 2022-04.gif ├── 2022-05.gif ├── 2022-06.gif ├── 2022-07.gif ├── 2022-08.gif ├── 2022-09.gif ├── 2022-10.gif ├── 2022-11.gif ├── 2022-12.gif ├── 2023-01.gif ├── 2023-02.gif ├── 2023-03.gif ├── 2023-04.gif ├── 2023-05.gif ├── 2023-06.gif ├── 2023-07.gif ├── 2023-08.gif ├── 2023-09.gif ├── 2023-10.gif ├── 2023-11.gif ├── 2023-12.gif ├── 2024-01.gif ├── 2024-02.gif ├── 2024-03.gif ├── 2024-04.gif ├── 2024-05.gif ├── 2024-06.gif ├── 2024-07.gif ├── 2024-08.gif ├── 2024-09.gif ├── 2024-10.gif ├── 2024-11.gif ├── 2024-12.gif ├── 202501.gif ├── 202502.gif ├── 202503.gif ├── 202504.gif ├── 202505.gif ├── 202506.gif ├── 202507.gif ├── 202508.gif ├── 202509.gif ├── 202510.gif ├── 202511.gif ├── 202512.gif ├── PNG/ ├── dcc-2021-1.png ├── dcc-2021-10.png ├── dcc-2021-11.png ├── dcc-2021-12.png ├── dcc-2021-2.png ├── dcc-2021-3.png ├── dcc-2021-4.png ├── dcc-2021-5.png ├── dcc-2021-6.png ├── dcc-2021-7.png ├── dcc-2021-8.png ├── dcc-2021-9.png ├── dcc-2022-1.png ├── dcc-2022-10.png ├── dcc-2022-11.png ├── dcc-2022-12.png ├── dcc-2022-2.png ├── dcc-2022-3.png ├── dcc-2022-4.png ├── dcc-2022-5.png ├── dcc-2022-6.png ├── dcc-2022-7.png ├── dcc-2022-8.png ├── dcc-2022-9.png ├── dcc-2023-1.png ├── dcc-2023-10.png ├── dcc-2023-11.png ├── dcc-2023-12.png ├── dcc-2023-2.png ├── dcc-2023-3.png ├── dcc-2023-4.png ├── dcc-2023-5.png ├── dcc-2023-6.png ├── dcc-2023-7.png ├── dcc-2023-8.png ├── dcc-2023-9.png ├── dcc-2024-1.png ├── dcc-2024-10.png ├── dcc-2024-11.png ├── dcc-2024-12.png ├── dcc-2024-2.png ├── dcc-2024-3.png ├── dcc-2024-4.png ├── dcc-2024-5.png ├── dcc-2024-6.png ├── dcc-2024-7.png ├── dcc-2024-8.png ├── dcc-2024-9.png ├── dcc-2025-1.png ├── dcc-2025-10.png ├── dcc-2025-11.png ├── dcc-2025-12.png ├── dcc-2025-2.png ├── dcc-2025-3.png ├── dcc-2025-4.png ├── dcc-2025-5.png ├── dcc-2025-6.png ├── dcc-2025-7.png ├── dcc-2025-8.png ├── dcc-2025-9.png ├── Study-Plan-Medals/ ├── GIF/ ├── Binary_Search.gif ├── Dynamic_Programming-.gif ├── Dynamic_Programming_Grandmaster.gif ├── Graph_Theory.gif ├── Introduction_to_Pandas.gif ├── JS30_GIF.gif ├── LC-75.gif ├── LeetCode_75.gif ├── Pandas.gif ├── Premium_Algo_100.gif ├── Premium_SQL_50.gif ├── Programming_Skills.gif ├── SQLI.gif ├── Top_100_Liked.gif ├── Top_Interview_150.gif ├── Top_SQL_50.gif ├── 二分查找_会员进阶.gif ├── 二分查找_入门.gif ├── 二分查找_基础.gif ├── 会员.gif ├── 入门.gif ├── 图论-optimize.gif ├── 图论_会员进阶.gif ├── 编程能力_入门.gif ├── 编程能力_基础.gif ├── PNG/ ├── Algorithm_III_Badge.png ├── Binary_Search.png ├── DP_I.png ├── DP_II.png ├── DSIII.png ├── DS_I.png ├── DS_II.png ├── Dynamic_Programming.png ├── Dynamic_Programming_Grandmaster.png ├── Graph_Theory.png ├── Introduction_to_Pandas_Badge.png ├── LeetCode_75.png ├── Pandas_icon.png ├── Premium_Algo_100.png ├── Premium_SQL_50.png ├── Programming_Skills.png ├── SQLI.png ├── Top_100_Liked.png ├── Top_Interview_150.png ├── Top_SQL_50.png ├── algorithm_I.png ├── algorithm_II.png ├── 二分查找_会员进阶.png ├── 二分查找_入门.png ├── 二分查找_基础.png ├── 会员.png ├── 入门.png ├── 图论-会员进阶.png ├── 图论.png ├── 基础.png ├── 编程能力_入门.png ├── 编程能力_基础.png ├── 静态图.png ├── Submission-Days/ ├── GIF/ ├── 1k.gif ├── 2k.gif ├── 365.gif ├── 500.gif ├── PNG/ ├── 1k.png ├── 2k.png ├── 365.png ├── 500.png ├── Image/ ├── leetcode-challenge.png ├── README.md ├── READMEptbr.md ├── badges/ ├── badges.md ├── selos.md ├── get_problem.py ├── problems/ ├── easy.md ├── hard.md ├── medium.md ├── solutions/ ├── 0001-two-sum/ ├── en/ ├── description.md ├── explanation.md ├── pt/ ├── descricao.md ├── explicacao.md ├── solution.py ├── 0002-add-two-numbers/ ├── en/ ├── description.md ├── explanation.md ├── pt/ ├── descricao.md ├── explicacao.md ├── solution.py ├── solution.ts ├── 0003-longest-substring-without-repeating-characters/ ├── en/ ├── description.md ├── explanation.md ├── pt/ ├── descricao.md ├── explicacao.md ├── solution.py ├── 0020-valid-parentheses/ ├── en/ ├── description.md ├── explanation.md ├── pt/ ├── descricao.md ├── explicacao.md ├── solution.py ├── solution.ts ├── 0035-search-insert-position/ ├── en/ ├── description.md ├── explanation.md ├── pt/ ├── descricao.md ├── explicacao.md ├── solution.py ├── solution.ts ├── 0148-sort-list/ ├── en/ ├── description.md ├── explanation.md ├── pt/ ├── descricao.md ├── explicacao.md ├── solution.py ├── solution.ts ├── 0345-reverse-vowels-of-a-string/ ├── en/ ├── description.md ├── explanation.md ├── pt/ ├── descricao.md ├── explicacao.md ├── solution.py ├── solution.ts ├── 0509-Fibonacci-Number/ ├── Solution.java ├── en/ ├── description.md ├── explanation.md ├── pt/ ├── descrição.md ├── explicação.md ├── summary.md ├── requirements.txt ``` ## /.gitignore ```gitignore path="/.gitignore" .venv/ ``` ## /LICENSE ``` path="/LICENSE" MIT License Copyright (c) 2024 Caio André, Matheus Audibert, Enzo Almedia Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ``` ## /Media/Badges/Annual-Medals/GIF/2021-annual-badge.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Annual-Medals/GIF/2021-annual-badge.gif ## /Media/Badges/Annual-Medals/GIF/2022-annual.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Annual-Medals/GIF/2022-annual.gif ## /Media/Badges/Annual-Medals/GIF/2023-100.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Annual-Medals/GIF/2023-100.gif ## /Media/Badges/Annual-Medals/GIF/2023-50.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Annual-Medals/GIF/2023-50.gif ## /Media/Badges/Annual-Medals/GIF/2023.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Annual-Medals/GIF/2023.gif ## /Media/Badges/Annual-Medals/GIF/2024-100-new.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Annual-Medals/GIF/2024-100-new.gif ## /Media/Badges/Annual-Medals/GIF/2024-200.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Annual-Medals/GIF/2024-200.gif ## /Media/Badges/Annual-Medals/GIF/2024-50.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Annual-Medals/GIF/2024-50.gif ## /Media/Badges/Annual-Medals/GIF/2024.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Annual-Medals/GIF/2024.gif ## /Media/Badges/Annual-Medals/PNG/2022-annual.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Annual-Medals/PNG/2022-annual.png ## /Media/Badges/Annual-Medals/PNG/2024-100-lg.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Annual-Medals/PNG/2024-100-lg.png ## /Media/Badges/Annual-Medals/PNG/2024-200-lg.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Annual-Medals/PNG/2024-200-lg.png ## /Media/Badges/Annual-Medals/PNG/2024-50-lg.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Annual-Medals/PNG/2024-50-lg.png ## /Media/Badges/Annual-Medals/PNG/2024-lg.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Annual-Medals/PNG/2024-lg.png ## /Media/Badges/Annual-Medals/PNG/annual-badge-2021-front.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Annual-Medals/PNG/annual-badge-2021-front.png ## /Media/Badges/Annual-Medals/PNG/lg100.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Annual-Medals/PNG/lg100.png ## /Media/Badges/Annual-Medals/PNG/lg2023.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Annual-Medals/PNG/lg2023.png ## /Media/Badges/Annual-Medals/PNG/lg50.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Annual-Medals/PNG/lg50.png ## /Media/Badges/Competition-Medals/GIF/Guardian.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Competition-Medals/GIF/Guardian.gif ## /Media/Badges/Competition-Medals/GIF/Knight.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Competition-Medals/GIF/Knight.gif ## /Media/Badges/Competition-Medals/PNG/guardian.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Competition-Medals/PNG/guardian.png ## /Media/Badges/Competition-Medals/PNG/knight.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Competition-Medals/PNG/knight.png ## /Media/Badges/Daily-Medals/GIF/2021-01.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2021-01.gif ## /Media/Badges/Daily-Medals/GIF/2021-02.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2021-02.gif ## /Media/Badges/Daily-Medals/GIF/2021-03.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2021-03.gif ## /Media/Badges/Daily-Medals/GIF/2021-04.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2021-04.gif ## /Media/Badges/Daily-Medals/GIF/2021-05.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2021-05.gif ## /Media/Badges/Daily-Medals/GIF/2021-06.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2021-06.gif ## /Media/Badges/Daily-Medals/GIF/2021-07.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2021-07.gif ## /Media/Badges/Daily-Medals/GIF/2021-08.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2021-08.gif ## /Media/Badges/Daily-Medals/GIF/2021-09.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2021-09.gif ## /Media/Badges/Daily-Medals/GIF/2021-10.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2021-10.gif ## /Media/Badges/Daily-Medals/GIF/2021-11.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2021-11.gif ## /Media/Badges/Daily-Medals/GIF/2021-12.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2021-12.gif ## /Media/Badges/Daily-Medals/GIF/2022-01.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2022-01.gif ## /Media/Badges/Daily-Medals/GIF/2022-02.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2022-02.gif ## /Media/Badges/Daily-Medals/GIF/2022-03.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2022-03.gif ## /Media/Badges/Daily-Medals/GIF/2022-04.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2022-04.gif ## /Media/Badges/Daily-Medals/GIF/2022-05.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2022-05.gif ## /Media/Badges/Daily-Medals/GIF/2022-06.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2022-06.gif ## /Media/Badges/Daily-Medals/GIF/2022-07.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2022-07.gif ## /Media/Badges/Daily-Medals/GIF/2022-08.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2022-08.gif ## /Media/Badges/Daily-Medals/GIF/2022-09.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2022-09.gif ## /Media/Badges/Daily-Medals/GIF/2022-10.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2022-10.gif ## /Media/Badges/Daily-Medals/GIF/2022-11.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2022-11.gif ## /Media/Badges/Daily-Medals/GIF/2022-12.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2022-12.gif ## /Media/Badges/Daily-Medals/GIF/2023-01.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2023-01.gif ## /Media/Badges/Daily-Medals/GIF/2023-02.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2023-02.gif ## /Media/Badges/Daily-Medals/GIF/2023-03.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2023-03.gif ## /Media/Badges/Daily-Medals/GIF/2023-04.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2023-04.gif ## /Media/Badges/Daily-Medals/GIF/2023-05.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2023-05.gif ## /Media/Badges/Daily-Medals/GIF/2023-06.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2023-06.gif ## /Media/Badges/Daily-Medals/GIF/2023-07.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2023-07.gif ## /Media/Badges/Daily-Medals/GIF/2023-08.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2023-08.gif ## /Media/Badges/Daily-Medals/GIF/2023-09.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2023-09.gif ## /Media/Badges/Daily-Medals/GIF/2023-10.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2023-10.gif ## /Media/Badges/Daily-Medals/GIF/2023-11.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2023-11.gif ## /Media/Badges/Daily-Medals/GIF/2023-12.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2023-12.gif ## /Media/Badges/Daily-Medals/GIF/2024-01.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2024-01.gif ## /Media/Badges/Daily-Medals/GIF/2024-02.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2024-02.gif ## /Media/Badges/Daily-Medals/GIF/2024-03.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2024-03.gif ## /Media/Badges/Daily-Medals/GIF/2024-04.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2024-04.gif ## /Media/Badges/Daily-Medals/GIF/2024-05.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2024-05.gif ## /Media/Badges/Daily-Medals/GIF/2024-06.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2024-06.gif ## /Media/Badges/Daily-Medals/GIF/2024-07.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2024-07.gif ## /Media/Badges/Daily-Medals/GIF/2024-08.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2024-08.gif ## /Media/Badges/Daily-Medals/GIF/2024-09.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2024-09.gif ## /Media/Badges/Daily-Medals/GIF/2024-10.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2024-10.gif ## /Media/Badges/Daily-Medals/GIF/2024-11.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2024-11.gif ## /Media/Badges/Daily-Medals/GIF/2024-12.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/2024-12.gif ## /Media/Badges/Daily-Medals/GIF/202501.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/202501.gif ## /Media/Badges/Daily-Medals/GIF/202502.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/202502.gif ## /Media/Badges/Daily-Medals/GIF/202503.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/202503.gif ## /Media/Badges/Daily-Medals/GIF/202504.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/202504.gif ## /Media/Badges/Daily-Medals/GIF/202505.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/202505.gif ## /Media/Badges/Daily-Medals/GIF/202506.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/202506.gif ## /Media/Badges/Daily-Medals/GIF/202507.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/202507.gif ## /Media/Badges/Daily-Medals/GIF/202508.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/202508.gif ## /Media/Badges/Daily-Medals/GIF/202509.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/202509.gif ## /Media/Badges/Daily-Medals/GIF/202510.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/202510.gif ## /Media/Badges/Daily-Medals/GIF/202511.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/202511.gif ## /Media/Badges/Daily-Medals/GIF/202512.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/GIF/202512.gif ## /Media/Badges/Daily-Medals/PNG/dcc-2021-1.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2021-1.png ## /Media/Badges/Daily-Medals/PNG/dcc-2021-10.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2021-10.png ## /Media/Badges/Daily-Medals/PNG/dcc-2021-11.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2021-11.png ## /Media/Badges/Daily-Medals/PNG/dcc-2021-12.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2021-12.png ## /Media/Badges/Daily-Medals/PNG/dcc-2021-2.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2021-2.png ## /Media/Badges/Daily-Medals/PNG/dcc-2021-3.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2021-3.png ## /Media/Badges/Daily-Medals/PNG/dcc-2021-4.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2021-4.png ## /Media/Badges/Daily-Medals/PNG/dcc-2021-5.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2021-5.png ## /Media/Badges/Daily-Medals/PNG/dcc-2021-6.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2021-6.png ## /Media/Badges/Daily-Medals/PNG/dcc-2021-7.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2021-7.png ## /Media/Badges/Daily-Medals/PNG/dcc-2021-8.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2021-8.png ## /Media/Badges/Daily-Medals/PNG/dcc-2021-9.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2021-9.png ## /Media/Badges/Daily-Medals/PNG/dcc-2022-1.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2022-1.png ## /Media/Badges/Daily-Medals/PNG/dcc-2022-10.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2022-10.png ## /Media/Badges/Daily-Medals/PNG/dcc-2022-11.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2022-11.png ## /Media/Badges/Daily-Medals/PNG/dcc-2022-12.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2022-12.png ## /Media/Badges/Daily-Medals/PNG/dcc-2022-2.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2022-2.png ## /Media/Badges/Daily-Medals/PNG/dcc-2022-3.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2022-3.png ## /Media/Badges/Daily-Medals/PNG/dcc-2022-4.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2022-4.png ## /Media/Badges/Daily-Medals/PNG/dcc-2022-5.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2022-5.png ## /Media/Badges/Daily-Medals/PNG/dcc-2022-6.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2022-6.png ## /Media/Badges/Daily-Medals/PNG/dcc-2022-7.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2022-7.png ## /Media/Badges/Daily-Medals/PNG/dcc-2022-8.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2022-8.png ## /Media/Badges/Daily-Medals/PNG/dcc-2022-9.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2022-9.png ## /Media/Badges/Daily-Medals/PNG/dcc-2023-1.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2023-1.png ## /Media/Badges/Daily-Medals/PNG/dcc-2023-10.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2023-10.png ## /Media/Badges/Daily-Medals/PNG/dcc-2023-11.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2023-11.png ## /Media/Badges/Daily-Medals/PNG/dcc-2023-12.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2023-12.png ## /Media/Badges/Daily-Medals/PNG/dcc-2023-2.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2023-2.png ## /Media/Badges/Daily-Medals/PNG/dcc-2023-3.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2023-3.png ## /Media/Badges/Daily-Medals/PNG/dcc-2023-4.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2023-4.png ## /Media/Badges/Daily-Medals/PNG/dcc-2023-5.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2023-5.png ## /Media/Badges/Daily-Medals/PNG/dcc-2023-6.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2023-6.png ## /Media/Badges/Daily-Medals/PNG/dcc-2023-7.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2023-7.png ## /Media/Badges/Daily-Medals/PNG/dcc-2023-8.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2023-8.png ## /Media/Badges/Daily-Medals/PNG/dcc-2023-9.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2023-9.png ## /Media/Badges/Daily-Medals/PNG/dcc-2024-1.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2024-1.png ## /Media/Badges/Daily-Medals/PNG/dcc-2024-10.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2024-10.png ## /Media/Badges/Daily-Medals/PNG/dcc-2024-11.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2024-11.png ## /Media/Badges/Daily-Medals/PNG/dcc-2024-12.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2024-12.png ## /Media/Badges/Daily-Medals/PNG/dcc-2024-2.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2024-2.png ## /Media/Badges/Daily-Medals/PNG/dcc-2024-3.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2024-3.png ## /Media/Badges/Daily-Medals/PNG/dcc-2024-4.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2024-4.png ## /Media/Badges/Daily-Medals/PNG/dcc-2024-5.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2024-5.png ## /Media/Badges/Daily-Medals/PNG/dcc-2024-6.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2024-6.png ## /Media/Badges/Daily-Medals/PNG/dcc-2024-7.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2024-7.png ## /Media/Badges/Daily-Medals/PNG/dcc-2024-8.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2024-8.png ## /Media/Badges/Daily-Medals/PNG/dcc-2024-9.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2024-9.png ## /Media/Badges/Daily-Medals/PNG/dcc-2025-1.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2025-1.png ## /Media/Badges/Daily-Medals/PNG/dcc-2025-10.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2025-10.png ## /Media/Badges/Daily-Medals/PNG/dcc-2025-11.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2025-11.png ## /Media/Badges/Daily-Medals/PNG/dcc-2025-12.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2025-12.png ## /Media/Badges/Daily-Medals/PNG/dcc-2025-2.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2025-2.png ## /Media/Badges/Daily-Medals/PNG/dcc-2025-3.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2025-3.png ## /Media/Badges/Daily-Medals/PNG/dcc-2025-4.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2025-4.png ## /Media/Badges/Daily-Medals/PNG/dcc-2025-5.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2025-5.png ## /Media/Badges/Daily-Medals/PNG/dcc-2025-6.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2025-6.png ## /Media/Badges/Daily-Medals/PNG/dcc-2025-7.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2025-7.png ## /Media/Badges/Daily-Medals/PNG/dcc-2025-8.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2025-8.png ## /Media/Badges/Daily-Medals/PNG/dcc-2025-9.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Daily-Medals/PNG/dcc-2025-9.png ## /Media/Badges/Study-Plan-Medals/GIF/Binary_Search.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/GIF/Binary_Search.gif ## /Media/Badges/Study-Plan-Medals/GIF/Dynamic_Programming-.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/GIF/Dynamic_Programming-.gif ## /Media/Badges/Study-Plan-Medals/GIF/Dynamic_Programming_Grandmaster.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/GIF/Dynamic_Programming_Grandmaster.gif ## /Media/Badges/Study-Plan-Medals/GIF/Graph_Theory.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/GIF/Graph_Theory.gif ## /Media/Badges/Study-Plan-Medals/GIF/Introduction_to_Pandas.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/GIF/Introduction_to_Pandas.gif ## /Media/Badges/Study-Plan-Medals/GIF/JS30_GIF.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/GIF/JS30_GIF.gif ## /Media/Badges/Study-Plan-Medals/GIF/LC-75.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/GIF/LC-75.gif ## /Media/Badges/Study-Plan-Medals/GIF/LeetCode_75.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/GIF/LeetCode_75.gif ## /Media/Badges/Study-Plan-Medals/GIF/Pandas.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/GIF/Pandas.gif ## /Media/Badges/Study-Plan-Medals/GIF/Premium_Algo_100.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/GIF/Premium_Algo_100.gif ## /Media/Badges/Study-Plan-Medals/GIF/Premium_SQL_50.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/GIF/Premium_SQL_50.gif ## /Media/Badges/Study-Plan-Medals/GIF/Programming_Skills.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/GIF/Programming_Skills.gif ## /Media/Badges/Study-Plan-Medals/GIF/SQLI.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/GIF/SQLI.gif ## /Media/Badges/Study-Plan-Medals/GIF/Top_100_Liked.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/GIF/Top_100_Liked.gif ## /Media/Badges/Study-Plan-Medals/GIF/Top_Interview_150.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/GIF/Top_Interview_150.gif ## /Media/Badges/Study-Plan-Medals/GIF/Top_SQL_50.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/GIF/Top_SQL_50.gif ## /Media/Badges/Study-Plan-Medals/GIF/二分查找_会员进阶.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/GIF/二分查找_会员进阶.gif ## /Media/Badges/Study-Plan-Medals/GIF/二分查找_入门.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/GIF/二分查找_入门.gif ## /Media/Badges/Study-Plan-Medals/GIF/二分查找_基础.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/GIF/二分查找_基础.gif ## /Media/Badges/Study-Plan-Medals/GIF/会员.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/GIF/会员.gif ## /Media/Badges/Study-Plan-Medals/GIF/入门.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/GIF/入门.gif ## /Media/Badges/Study-Plan-Medals/GIF/图论-optimize.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/GIF/图论-optimize.gif ## /Media/Badges/Study-Plan-Medals/GIF/图论_会员进阶.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/GIF/图论_会员进阶.gif ## /Media/Badges/Study-Plan-Medals/GIF/编程能力_入门.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/GIF/编程能力_入门.gif ## /Media/Badges/Study-Plan-Medals/GIF/编程能力_基础.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/GIF/编程能力_基础.gif ## /Media/Badges/Study-Plan-Medals/PNG/Algorithm_III_Badge.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/PNG/Algorithm_III_Badge.png ## /Media/Badges/Study-Plan-Medals/PNG/Binary_Search.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/PNG/Binary_Search.png ## /Media/Badges/Study-Plan-Medals/PNG/DP_I.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/PNG/DP_I.png ## /Media/Badges/Study-Plan-Medals/PNG/DP_II.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/PNG/DP_II.png ## /Media/Badges/Study-Plan-Medals/PNG/DSIII.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/PNG/DSIII.png ## /Media/Badges/Study-Plan-Medals/PNG/DS_I.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/PNG/DS_I.png ## /Media/Badges/Study-Plan-Medals/PNG/DS_II.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/PNG/DS_II.png ## /Media/Badges/Study-Plan-Medals/PNG/Dynamic_Programming.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/PNG/Dynamic_Programming.png ## /Media/Badges/Study-Plan-Medals/PNG/Dynamic_Programming_Grandmaster.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/PNG/Dynamic_Programming_Grandmaster.png ## /Media/Badges/Study-Plan-Medals/PNG/Graph_Theory.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/PNG/Graph_Theory.png ## /Media/Badges/Study-Plan-Medals/PNG/Introduction_to_Pandas_Badge.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/PNG/Introduction_to_Pandas_Badge.png ## /Media/Badges/Study-Plan-Medals/PNG/LeetCode_75.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/PNG/LeetCode_75.png ## /Media/Badges/Study-Plan-Medals/PNG/Pandas_icon.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/PNG/Pandas_icon.png ## /Media/Badges/Study-Plan-Medals/PNG/Premium_Algo_100.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/PNG/Premium_Algo_100.png ## /Media/Badges/Study-Plan-Medals/PNG/Premium_SQL_50.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/PNG/Premium_SQL_50.png ## /Media/Badges/Study-Plan-Medals/PNG/Programming_Skills.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/PNG/Programming_Skills.png ## /Media/Badges/Study-Plan-Medals/PNG/SQLI.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/PNG/SQLI.png ## /Media/Badges/Study-Plan-Medals/PNG/Top_100_Liked.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/PNG/Top_100_Liked.png ## /Media/Badges/Study-Plan-Medals/PNG/Top_Interview_150.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/PNG/Top_Interview_150.png ## /Media/Badges/Study-Plan-Medals/PNG/Top_SQL_50.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/PNG/Top_SQL_50.png ## /Media/Badges/Study-Plan-Medals/PNG/algorithm_I.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/PNG/algorithm_I.png ## /Media/Badges/Study-Plan-Medals/PNG/algorithm_II.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/PNG/algorithm_II.png ## /Media/Badges/Study-Plan-Medals/PNG/二分查找_会员进阶.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/PNG/二分查找_会员进阶.png ## /Media/Badges/Study-Plan-Medals/PNG/二分查找_入门.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/PNG/二分查找_入门.png ## /Media/Badges/Study-Plan-Medals/PNG/二分查找_基础.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/PNG/二分查找_基础.png ## /Media/Badges/Study-Plan-Medals/PNG/会员.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/PNG/会员.png ## /Media/Badges/Study-Plan-Medals/PNG/入门.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/PNG/入门.png ## /Media/Badges/Study-Plan-Medals/PNG/图论-会员进阶.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/PNG/图论-会员进阶.png ## /Media/Badges/Study-Plan-Medals/PNG/图论.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/PNG/图论.png ## /Media/Badges/Study-Plan-Medals/PNG/基础.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/PNG/基础.png ## /Media/Badges/Study-Plan-Medals/PNG/编程能力_入门.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/PNG/编程能力_入门.png ## /Media/Badges/Study-Plan-Medals/PNG/编程能力_基础.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/PNG/编程能力_基础.png ## /Media/Badges/Study-Plan-Medals/PNG/静态图.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Study-Plan-Medals/PNG/静态图.png ## /Media/Badges/Submission-Days/GIF/1k.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Submission-Days/GIF/1k.gif ## /Media/Badges/Submission-Days/GIF/2k.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Submission-Days/GIF/2k.gif ## /Media/Badges/Submission-Days/GIF/365.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Submission-Days/GIF/365.gif ## /Media/Badges/Submission-Days/GIF/500.gif Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Submission-Days/GIF/500.gif ## /Media/Badges/Submission-Days/PNG/1k.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Submission-Days/PNG/1k.png ## /Media/Badges/Submission-Days/PNG/2k.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Submission-Days/PNG/2k.png ## /Media/Badges/Submission-Days/PNG/365.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Submission-Days/PNG/365.png ## /Media/Badges/Submission-Days/PNG/500.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Badges/Submission-Days/PNG/500.png ## /Media/Image/leetcode-challenge.png Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/Media/Image/leetcode-challenge.png ## /README.md # LeetCode Challenge

LeetCode Logo

GitHub Contributors GitHub Stars GitHub Forks Discord

## About LeetCode [LeetCode](https://leetcode.com) is a premier platform for practicing coding problems and preparing for technical interviews. It offers a vast collection of problems that help developers enhance their algorithmic skills. ## Project Overview This repository is a collaborative effort by [@matheusaudibert](https://github.com/matheusaudibert), [@caio-andres](https://github.com/caio-andres), and [@enzowxl](https://github.com/enzowxl). Our mission is to solve one LeetCode problem each day, documenting our solutions and explanations to foster learning and growth. ## Getting Started To contribute to or use this repository, you'll need to set up your environment first. The project uses Python to fetch and process LeetCode problems. ### Prerequisites - Python 3.6 or higher - pip (Python package installer) ### Installation 1. Clone the repository ```bash git clone https://github.com/caio-andres/leetcode-challenge.git cd leetcode-challenge ``` 2. Create a virtual environment (optional but recommended) ```bash python -m venv .venv # On Windows .venv\Scripts\activate # On macOS/Linux source .venv/bin/activate ``` 3. Install the required dependencies ```bash pip install -r requirements.txt ``` ### Using the Problem Generator Script The repository includes a script to automatically fetch problems from LeetCode and create the directory structure: 1. Run the script ```bash python get_problem.py ``` 2. Enter the LeetCode problem ID when prompted ``` Digite o ID do problema: 1 ``` 3. The script will: - Fetch the problem details from LeetCode - Create the necessary directory structure - Generate description files in both English and Portuguese - Create a template solution file in Python ### Directory Structure After running the script, a new problem directory will be created following the repository structure pattern: ``` problems/ └── solutions/ └── 0001-two-sum/ ├── en/ │ ├── description.md │ └── explanation.md ├── pt/ │ ├── descricao.md │ └── explicacao.md └── solution.py ``` Now you're ready to solve LeetCode problems and contribute to the project! ## Summary Here you will find the summary of all the problems we have solved. Each problem is documented with its description, solution, and explanation. To view the full summary of all exercises, simply access the [`summary.md`](problems/summary.md). If you wish to filter problems by difficulty, you can check the following files: - **Easy Problems**: [`easy.md`](problems/easy.md) - **Medium Problems**: [`medium.md`](problems/medium.md) - **Hard Problems**: [`hard.md`](problems/hard.md) ## Repository Structure Each problem is organized in its own directory, containing: - **description.md**: The problem statement. - **explanation.md**: A detailed explanation of the approach and logic used. - **solution.py**: The implemented solution in Python. - **solution.xx**: The implemented solution in any other language. ## Multilingual Support To cater to a broader audience, we provide documentation in both English and Portuguese. The structure for each problem is as follows: ``` ├── problems │ └── solutions │ ├── 001-two-sum │ │ ├── en/ │ │ │ ├── description.md │ │ │ └── explanation.md │ │ ├── pt/ │ │ │ ├── descricao.md │ │ │ └── explicacao.md │ │ ├── solution.py │ │ └── solution.xx │ │ │ └── 002-add-two-numbers │ ├── en/ │ │ ├── description.md │ │ └── explanation.md │ ├── pt/ │ │ ├── descricao.md │ │ └── explicacao.md │ ├── solution.py │ └── solution.xx ``` This format ensures consistency and makes it easy to navigate through the problems we've tackled in both languages. ## Our LeetCode Statistics We utilize the [LeetCode-Stats-Card](https://github.com/JacobLinCool/LeetCode-Stats-Card) todisplay our current statistics. Here are our individual stats: [@matheusaudibert](https://github.com/matheusaudibert) ![LeetCode Stats](https://leetcard.jacoblin.cool/audibert?theme=dark&font=Baloo%202) [@caio-andres](https://github.com/caio-andres) ![LeetCode Stats](https://leetcard.jacoblin.cool/caio-andres?theme=dark&font=Baloo%202) [@enzowxl](https://github.com/enzowxl) ![LeetCode Stats](https://leetcard.jacoblin.cool/enzowxl?theme=dark&font=Baloo%202) ## Current Progress - **Total Problems Solved**: 3 - **Consecutive Days of Solving**: 3 - **Last Problem made**: [148-sorted-list](Problems\Solutions\148-sorted-list\english\description.md) We are committed to maintaining this streak and continuously expanding our repository with new challenges and solutions. ## Badges LeetCode offers a variety of **badges** to recognize achievements and milestones throughout your problem-solving journey. These badges appear on user profiles and represent accomplishments like solving problems across different difficulties, maintaining daily streaks, and more. To see the full list of available badges and learn how to earn each one, check out: [`badges.md`](badges/badges.md) ## Contributions Contributions are welcome! If you'd like to add solutions in another langagues, improve existing ones, or provide explanations, feel free to fork the repository and submit a pull request. ## Contact For any questions or suggestions, please reach out to us by accessing our discord: [Servidor do Programadores](https://discord.gg/t86nFuCrbj). Or feel free to connect with us on **LinkedIn**: [Matheus Audibert](hhttps://www.linkedin.com/in/matheusaudibert), [Caio André](hhttps://www.linkedin.com/in/caio-porto-oliveira), [Enzo Almedida](https://www.linkedin.com/in/enzodev/). _To show support give this repo a ⭐ star! It means a lot, thank you :)_ ## /READMEptbr.md # LeetCode Challenge

LeetCode Logo

GitHub Contributors GitHub Stars GitHub Forks Discord

## Sobre o LeetCode [LeetCode](https://leetcode.com) é uma plataforma premium para praticar problemas de programação e se preparar para entrevistas técnicas. Ela oferece uma vasta coleção de problemas que ajudam desenvolvedores a aprimorar suas habilidades algorítmicas. ## Visão Geral do Projeto Este repositório é um esforço colaborativo de [@matheusaudibert](https://github.com/matheusaudibert), [@caio-andres](https://github.com/caio-andres), and [@enzowxl](https://github.com/enzowxl). Nosso objetivo é resolver um problema do LeetCode por dia, documentando nossas soluções e explicações para promover o aprendizado e crescimento. ## Resumo Aqui você encontrará o resumo de todos os problemas que resolvemos. Cada problema é documentado com sua descrição, solução e explicação. Para ver o resumo completo de todos os exercícios, basta acessar o [`summary.md`](problems/summary.md). Se você deseja filtrar problemas por dificuldade, você pode verificar os seguintes arquivos: - **Problemas Fáceis**: [`easy.md`](problems/easy.md) - **Problemas Médios**: [`medium.md`](problems/medium.md) - **Probelmas Difícies**: [`hard.md`](problems/hard.md) ## Estrutura do Repositório Cada problema é organizado em seu próprio diretório, contendo: - **descricao.md**: O enunciado do problema. - **explicacao.md**: Uma explicação detalhada da abordagem e lógica utilizada. - **solucao.py**: A solução implementada em Python. - **solucao.xx**: A solução implementada em **qualquer outra linguagem**. ## Suporte Multilíngue Para atender a um público mais amplo, fornecemos documentação em inglês e português. A estrutura para cada problema é a seguinte: ``` ├── problems │ └── solutions │ ├── 001-two-sum │ │ ├── en/ │ │ │ ├── description.md │ │ │ └── explanation.md │ │ ├── pt/ │ │ │ ├── descricao.md │ │ │ └── explicacao.md │ │ ├── solution.py │ │ └── solution.xx │ │ │ └── 002-add-two-numbers │ ├── en/ │ │ ├── description.md │ │ └── explanation.md │ ├── pt/ │ │ ├── descricao.md │ │ └── explicacao.md │ ├── solution.py │ └── solution.xx ``` Este formato garante consistência e facilita a navegação pelos problemas que abordamos em ambos os idiomas. ## Nossas Estatísticas no LeetCode Nós utilizamos o [LeetCode-Stats-Card](https://github.com/JacobLinCool/LeetCode-Stats-Card) para exibir nossas estatísticas atuais. Aqui estão nossas estatísticas individuais: [@matheusaudibert](https://github.com/matheusaudibert) ![LeetCode Stats](https://leetcard.jacoblin.cool/audibert?theme=dark&font=Baloo%202) [@caio-andres](https://github.com/caio-andres) ![LeetCode Stats](https://leetcard.jacoblin.cool/caio-andres?theme=dark&font=Baloo%202) [@enzowxl](https://github.com/enzowxl) ![LeetCode Stats](https://leetcard.jacoblin.cool/enzowxl?theme=dark&font=Baloo%202) ## Progresso Atual - **Total de Problemas Resolvidos:** 3 - **Dias Consecutivos Resolvendo:** 3 - **Último Problema Feito:** [148-sorted-list](Problems\Solutions\148-sorted-list\Portuguese\descricao.md) Estamos comprometidos em manter essa sequência e expandir continuamente nosso repositório com novos desafios e soluções. ## Badges O LeetCode oferece uma variedade de emblemas para reconhecer conquistas e marcos ao longo da sua jornada de resolução de problemas. Esses emblemas aparecem nos perfis de usuários e representam conquistas como resolver problemas em diferentes níveis de dificuldade, manter sequências diárias e mais. Para ver a lista completa de emblemas disponíveis e aprender como ganhar cada um, confira: [`selos.md`](badges/selos.md) ## Contribuições Contribuições são bem-vindas! Se você gostaria de adicionar soluções em outras linguagens, melhorar as existentes ou fornecer explicações, sinta-se à vontade para fazer um fork do repositório e enviar um pull request. ## Contato Para quaisquer perguntas ou sugestões, entre em contato conosco acessando nosso discord: [Servidor do Programadores](https://discord.gg/t86nFuCrbj). Ou conecte-se conosco no **Linkedin**: [Matheus Audibert](hhttps://www.linkedin.com/in/matheusaudibert), [Caio André](https://www.linkedin.com/in/caio-porto-oliveira), [Enzo Almedida](https://www.linkedin.com/in/enzodev/). _Para mostrar apoio, dê uma ⭐ estrela a este repositório! Significa muito, obrigado :)_ ## /badges/badges.md # LeetCode Badges 🏆 This section will showcase all the badges earned on LeetCode. Each badge represents a milestone in the journey of problem-solving and mastering algorithms. You can track progress and achievements in various categories such as difficulty levels, problem-solving consistency, and community contributions. _Special thanks to [LeetCode-Badges](https://github.com/ChinemeremChigbo/LeetCode-Badges) by [Chinemerem](https://github.com/ChinemeremChigbo) for publish the badges and making it possible to include them here._
Badge Name How to Earn Type Earnable
Guardian Have a Contest Rating >=1600 and finish in the top 5% of a contest Competition Medals
Knight Have a Contest Rating >=1600 and finish in the top 25% of a contest Competition Medals
Apr 2025 Badge Submit code daily in April 2025 Daily Medals
Introduction to Pandas Complete the "Introduction to Pandas" study plan Study Plan Medals
30 Days of Pandas Complete the "30 Days of Pandas" study plan Study Plan Medals
30 Days of JavaScript Complete the "30 Days of JavaScript" study plan Study Plan Medals
Top Interview 150 Complete the "Top Interview 150" study plan Study Plan Medals
LeetCode 75 Complete the "LeetCode 75" study plan Study Plan Medals
Top 100 Liked Complete the "Top 100 Liked" study plan Study Plan Medals
SQL 50 Complete the "SQL 50" study plan Study Plan Medals
Premium Algo 100 Complete the "Premium Algo 100" study plan Study Plan Medals
Advanced SQL 50 Complete the "Advanced SQL 50" study plan Study Plan Medals
Programming Skills Complete the "Programming Skills" study plan Study Plan Medals
Dynamic Programming Complete the "Dynamic Programming" study plan Study Plan Medals
Dynamic Programming Grandmaster Complete the "Dynamic Programming Grandmaster" study plan Study Plan Medals
Graph Theory Complete the "Graph Theory" study plan Study Plan Medals
Binary Search Complete the "Binary Search" study plan Study Plan Medals
2000 Days Badge Submit code on 2000+ distinct days Submission Days
1000 Days Badge Submit code on 1000+ distinct days Submission Days
500 Days Badge Submit code on 500+ distinct days Submission Days
365 Days Badge Submit code on 365+ distinct days Submission Days
Annual Badge 2024 Submit code on 300+ distinct days in 2024 Annual Medals
200 Days Badge 2024 Submit code on 200+ distinct days in 2024 Annual Medals
100 Days Badge 2024 Submit code on 100+ distinct days in 2024 Annual Medals
50 Days Badge 2024 Submit code on 50+ distinct days in 2024 Annual Medals
Annual Badge 2023 Submit code on 300+ distinct days in 2023 Annual Medals
100 Days Badge 2023 Submit code on 100+ distinct days in 2023 Annual Medals
50 Days Badge 2023 Submit code on 50+ distinct days in 2023 Annual Medals
Annual Badge 2022 Submit code on 300+ distinct days in 2022 Annual Medals
Annual Medal 2021 Submit code on 300+ distinct days in 2021 Annual Medals
Jan 2025 Badge Submit code daily in January 2025 Daily Medals
Feb 2025 Badge Submit code daily in February 2025 Daily Medals
Mar 2025 Badge Submit code daily in March 2025 Daily Medals
May 2025 Badge Submit code daily in May 2025 Daily Medals
Jun 2025 Badge Submit code daily in June 2025 Daily Medals
Jul 2025 Badge Submit code daily in July 2025 Daily Medals
Aug 2025 Badge Submit code daily in August 2025 Daily Medals
Sep 2025 Badge Submit code daily in September 2025 Daily Medals
Oct 2025 Badge Submit code daily in October 2025 Daily Medals
Dec 2025 Badge Submit code daily in December 2025 Daily Medals
Jan 2024 Badge Submit code daily in January 2024 Daily Medals
Feb 2024 Badge Submit code daily in February 2024 Daily Medals
Mar 2024 Badge Submit code daily in March 2024 Daily Medals
Apr 2024 Badge Submit code daily in April 2024 Daily Medals
May 2024 Badge Submit code daily in May 2024 Daily Medals
Jun 2024 Badge Submit code daily in June 2024 Daily Medals
Jul 2024 Badge Submit code daily in July 2024 Daily Medals
Aug 2024 Badge Submit code daily in August 2024 Daily Medals
Sep 2024 Badge Submit code daily in September 2024 Daily Medals
Oct 2024 Badge Submit code daily in October 2024 Daily Medals
Dec 2024 Badge Submit code daily in December 2024 Daily Medals
Nov 2024 Badge Submit code daily in November 2024 Daily Medals
Jan 2023 Badge Submit code daily in January 2023 Daily Medals
Feb 2023 Badge Submit code daily in February 2023 Daily Medals
Mar 2023 Badge Submit code daily in March 2023 Daily Medals
Apr 2023 Badge Submit code daily in April 2023 Daily Medals
May 2023 Badge Submit code daily in May 2023 Daily Medals
Jun 2023 Badge Submit code daily in June 2023 Daily Medals
Jul 2023 Badge Submit code daily in July 2023 Daily Medals
Aug 2023 Badge Submit code daily in August 2023 Daily Medals
Sep 2023 Badge Submit code daily in September 2023 Daily Medals
Oct 2023 Badge Submit code daily in October 2023 Daily Medals
Nov 2023 Badge Submit code daily in November 2023 Daily Medals
Dec 2023 Badge Submit code daily in December 2023 Daily Medals
Jan 2021 Badge Submit code daily in January 2021 Daily Medals
Feb 2021 Badge Submit code daily in February 2021 Daily Medals
Mar 2021 Badge Submit code daily in March 2021 Daily Medals
Apr 2021 Badge Submit code daily in April 2021 Daily Medals
May 2021 Badge Submit code daily in May 2021 Daily Medals
Jun 2021 Badge Submit code daily in June 2021 Daily Medals
Jul 2021 Badge Submit code daily in July 2021 Daily Medals
Aug 2021 Badge Submit code daily in August 2021 Daily Medals
Sep 2021 Badge Submit code daily in September 2021 Daily Medals
Oct 2021 Badge Submit code daily in October 2021 Daily Medals
Nov 2021 Badge Submit code daily in November 2021 Daily Medals
Dec 2021 Badge Submit code daily in December 2021 Daily Medals
Jan 2022 Badge Submit code daily in January 2022 Daily Medals
Feb 2022 Badge Submit code daily in February 2022 Daily Medals
Mar 2022 Badge Submit code daily in March 2022 Daily Medals
Apr 2022 Badge Submit code daily in April 2022 Daily Medals
May 2022 Badge Submit code daily in May 2022 Daily Medals
Jun 2022 Badge Submit code daily in June 2022 Daily Medals
Jul 2022 Badge Submit code daily in July 2022 Daily Medals
Aug 2022 Badge Submit code daily in August 2022 Daily Medals
Sep 2022 Badge Submit code daily in September 2022 Daily Medals
Oct 2022 Badge Submit code daily in October 2022 Daily Medals
Nov 2022 Badge Submit code daily in November 2022 Daily Medals
Dec 2022 Badge Submit code daily in December 2022 Daily Medals
Algorithm I Complete the "Algorithm I" study plan Study Plan Medals
Algorithm II Complete the "Algorithm II" study plan Study Plan Medals
Algorithm III Complete the "Algorithm III" study plan Study Plan Medals
Binary Search I Complete the "Binary Search I" study plan Study Plan Medals
Binary Search II Complete the "Binary Search II" study plan Study Plan Medals
Binary Search III Complete the "Binary Search III" study plan Study Plan Medals
DP I Complete the "Dynamic Programming I" study plan Study Plan Medals
DP II Complete the "Dynamic Programming II" study plan Study Plan Medals
Data Structure I Complete the "Data Structure I" study plan Study Plan Medals
Data Structure II Complete the "Data Structure II" study plan Study Plan Medals
DS III Complete the "DS III" study plan Study Plan Medals
Graph Theory I Complete the "Graph Theory I" study plan Study Plan Medals
Graph Theory II Complete the "Graph Theory II" study plan Study Plan Medals
Level 1 Complete the "Level 1" study plan Study Plan Medals
Level 2 Complete the "Level 2" study plan Study Plan Medals
Level 3 Complete the "Level 3" study plan Study Plan Medals
Programming Skills I Complete the "Programming Skills I" study plan Study Plan Medals
Programming Skills II Complete the "Programming Skills II" study plan Study Plan Medals
SQL I Complete the "SQL I" study plan Study Plan Medals
## /badges/selos.md # Selos do LeetCode Esta seção apresentará todos os selos conquistados no LeetCode. Cada Selo representa um marco na jornada de resolução de problemas e domínio de algoritmos. Você pode acompanhar o progresso e conquistas em várias categorias como níveis de dificuldade, consistência na resolução de problemas e contribuições para a comunidade. _Agradecimentos especiais ao [LeetCode-Badges](https://github.com/ChinemeremChigbo/LeetCode-Badges) por [Chinemerem](https://github.com/ChinemeremChigbo) por publicar os Selos e tornar possível incluí-los aqui._
## /get_problem.py ```py path="/get_problem.py" import requests import re from html2text import html2text import os from googletrans import Translator translator = Translator() def save_full_structure(problem_data): if not problem_data: return False title = problem_data.get("title", "Unknown Problem") difficulty = problem_data.get("difficulty", "Unknown") question_id = problem_data.get("questionId", "000") slug = problem_data.get("titleSlug") content_md = process_html_content(problem_data.get("content", "")) # Traduzir o conteúdo para PT content_md_pt = translate_text(content_md) # Formata o ID com 4 dígitos (ex: 0001, 0293) folder_name = f"{str(question_id).zfill(4)}-{slug}" base_path = os.path.join("problems", "solutions", folder_name) try: # Criar dirs os.makedirs(os.path.join(base_path, "en"), exist_ok=True) os.makedirs(os.path.join(base_path, "pt"), exist_ok=True) # en with open(os.path.join(base_path, "en", "description.md"), "w", encoding="utf-8") as f: f.write(f"# {question_id}. {title} ({difficulty})\n\n") f.write(content_md + "\n") with open(os.path.join(base_path, "en", "explanation.md"), "w", encoding="utf-8") as f: f.write("") # pt with open(os.path.join(base_path, "pt", "descricao.md"), "w", encoding="utf-8") as f: f.write(f"# {question_id}. {title} ({translate_difficulty(difficulty)})\n\n") f.write(content_md_pt + "\n") with open(os.path.join(base_path, "pt", "explicacao.md"), "w", encoding="utf-8") as f: f.write("") # Solução em Python snippets = problem_data.get("codeSnippets", []) python_snippet = next((s for s in snippets if s["langSlug"] == "python3"), None) solution_code = python_snippet["code"] if python_snippet else "# Escreva sua solução aqui\n" # Comentar o código da solução commented_solution_code = "\n".join([f"## {line}" for line in solution_code.splitlines()]) with open(os.path.join(base_path, "solution.py"), "w", encoding="utf-8") as f: f.write(commented_solution_code + "\n") return True except Exception as e: print(f"Erro ao salvar estrutura de diretórios: {e}") return False def translate_text(text): try: translated = translator.translate(text, src='en', dest='pt') return translated.text except Exception as e: print(f"Erro ao traduzir texto: {e}") return text def translate_difficulty(difficulty): mapping = { "Easy": "Fácil", "Medium": "Médio", "Hard": "Difícil" } return mapping.get(difficulty, difficulty) def get_slug_by_id(problem_id): url = "https://leetcode.com/api/problems/all/" try: res = requests.get(url) res.raise_for_status() problems = res.json().get("stat_status_pairs", []) for item in problems: stat = item.get("stat", {}) if str(stat.get("question_id")) == str(problem_id): return stat.get("question__title_slug") return None except Exception as e: print(f"Erro ao buscar o slug: {e}") return None def get_problem_data(slug): url = "https://leetcode.com/graphql" headers = { "Content-Type": "application/json", "Referer": f"https://leetcode.com/problems/{slug}/" } payload = { "operationName": "questionData", "variables": { "titleSlug": slug }, "query": """ query questionData($titleSlug: String!) { question(titleSlug: $titleSlug) { questionId title titleSlug content difficulty codeSnippets { lang langSlug code } } } """ } try: res = requests.post(url, json=payload, headers=headers) res.raise_for_status() return res.json().get("data", {}).get("question", {}) except Exception as e: print(f"Erro ao buscar dados do problema: {e}") return None def process_html_content(html_content): if not html_content: return "" markdown = html2text(html_content) markdown = re.sub(r'\n{3,}', '\n\n', markdown).strip() markdown = re.sub(r'\*\*Example (\d+):\*\*', r'## Example \1:', markdown) markdown = re.sub(r'\*\*Constraints:\*\*', r'## Constraints', markdown) markdown = re.sub(r'\*\*(Input|Output|Explanation):\*\*', r'\1:', markdown) markdown = re.sub(r'^(Input:.*|Output:.*|Explanation:.*)', r' \1', markdown, flags=re.MULTILINE) markdown = re.sub(r'\*\*Follow-up:\s*\*\*', r'**Follow-up:** ', markdown) return markdown def main(): problem_id = input("Digite o ID do problema: ") slug = get_slug_by_id(problem_id) if not slug: print("Não foi possível encontrar o slug correspondente ao ID informado.") return print(f"Slug encontrado: {slug}") problem_data = get_problem_data(slug) if not problem_data: print("Não foi possível obter os dados.") return if save_full_structure(problem_data): print("Estrutura criada com sucesso!") else: print("Erro ao gerar estrutura do problema.") if __name__ == "__main__": main() ``` ## /problems/easy.md # Easy Problems Summary This summary contains all the Easy-level challenges from LeetCode that we have already solved 1. [Two Sum](problems\solutions\1-two-sum\solution.py) 509. [Fibonacci](solutions/509-Fibonacci-Number/Solution.java) ## /problems/hard.md # Hard Problems Summary This summary contains all the Hard-level challenges from LeetCode that we have already solved ## /problems/medium.md # Medium Problems Summary This summary contains all the Medium-level challenges from LeetCode that we have already solved ## /problems/solutions/0001-two-sum/en/description.md # 1. Two Sum (Easy) Given an array of integers `nums` and an integer `target`, return _indices of the two numbers such that they add up to `target`_. You may assume that each input would have **_exactly_ one solution**, and you may not use the _same_ element twice. You can return the answer in any order. ## Example 1: Input: nums = [2,7,11,15], target = 9 Output: [0,1] Explanation: Because nums[0] + nums[1] == 9, we return [0, 1]. ## Example 2: Input: nums = [3,2,4], target = 6 Output: [1,2] ## Example 3: Input: nums = [3,3], target = 6 Output: [0,1] ## Constraints - `2 <= nums.length <= 104` - `-109 <= nums[i] <= 109` - `-109 <= target <= 109` - **Only one valid answer exists.** **Follow-up:** Can you come up with an algorithm that is less than `O(n2)` time complexity? ## /problems/solutions/0001-two-sum/en/explanation.md ## /problems/solutions/0001-two-sum/pt/descricao.md # 1. Dois Números (Fácil) Dado um array de inteiros `nums` e um inteiro `target`, retorne os _índices de dois números que somados resultem em `target`_. Você pode assumir que cada entrada terá **_exatamente_ uma solução**, e você **não pode usar o mesmo elemento duas vezes**. Você pode retornar a resposta em qualquer ordem. ## Exemplo 1: Entrada: nums = [2,7,11,15], target = 9 Saída: [0,1] Explicação: Como nums[0] + nums[1] == 9, retornamos [0, 1]. ## Exemplo 2: Entrada: nums = [3,2,4], target = 6 Saída: [1,2] ## Exemplo 3: Entrada: nums = [3,3], target = 6 Saída: [0,1] ## Restrições - `2 <= nums.length <= 10⁴` - `-10⁹ <= nums[i] <= 10⁹` - `-10⁹ <= target <= 10⁹` - **Apenas uma resposta válida existe.** **Desafio:** Você consegue criar um algoritmo com complexidade de tempo menor que `O(n²)`? ## /problems/solutions/0001-two-sum/pt/explicacao.md ## /problems/solutions/0001-two-sum/solution.py ```py path="/problems/solutions/0001-two-sum/solution.py" class Solution: def twoSum(self, nums, target): # Dictionary to store numbers we've seen and their indices num_to_index = {} # Loop through the list with index for i in range(len(nums)): num = nums[i] complement = target - num # The number needed to reach the target # If the complement is already in the dictionary, return the pair of indices if complement in num_to_index: return [num_to_index[complement], i] # Otherwise, store the current number and its index in the dictionary num_to_index[num] = i # This point is never reached because the problem guarantees one solution return [] ``` ## /problems/solutions/0002-add-two-numbers/en/description.md # 2. Add Two Numbers (Medium) You are given two **non-empty** linked lists representing two non-negative integers. The digits are stored in **reverse order** , and each of their nodes contains a single digit. Add the two numbers and return the sum as a linked list. You may assume the two numbers do not contain any leading zero, except the number 0 itself. ## Example 1: ![](https://assets.leetcode.com/uploads/2020/10/02/addtwonumber1.jpg) Input: l1 = [2,4,3], l2 = [5,6,4] Output: [7,0,8] Explanation: 342 + 465 = 807. ## Example 2: Input: l1 = [0], l2 = [0] Output: [0] ## Example 3: Input: l1 = [9,9,9,9,9,9,9], l2 = [9,9,9,9] Output: [8,9,9,9,0,0,0,1] ## Constraints - The number of nodes in each linked list is in the range `[1, 100]`. - `0 <= Node.val <= 9` - It is guaranteed that the list represents a number that does not have leading zeros. ## /problems/solutions/0002-add-two-numbers/en/explanation.md ## /problems/solutions/0002-add-two-numbers/pt/descricao.md # 2. Somar Dois Números (Médio) Você recebe duas listas ligadas **não vazias** representando dois inteiros não negativos. Os dígitos estão armazenados em **ordem reversa**, e cada um dos nós contém um único dígito. Some os dois números e retorne o resultado como uma lista ligada. Você pode assumir que os dois números não contêm zeros à esquerda, exceto o próprio número 0. ## Exemplo 1: ![](https://assets.leetcode.com/uploads/2020/10/02/addtwonumber1.jpg) Entrada: l1 = [2,4,3], l2 = [5,6,4] Saída: [7,0,8] Explicação: 342 + 465 = 807. ## Exemplo 2: Entrada: l1 = [0], l2 = [0] Saída: [0] ## Exemplo 3: Entrada: l1 = [9,9,9,9,9,9,9], l2 = [9,9,9,9] Saída: [8,9,9,9,0,0,0,1] ## Restrições - O número de nós em cada lista ligada está no intervalo `[1, 100]`. - `0 <= Node.val <= 9` - É garantido que a lista representa um número que não possui zeros à esquerda. ## /problems/solutions/0002-add-two-numbers/pt/explicacao.md ## /problems/solutions/0002-add-two-numbers/solution.py ```py path="/problems/solutions/0002-add-two-numbers/solution.py" from typing import Optional class ListNode: def __init__(self, val=0, next=None): self.val = val self.next = next class Solution: def addTwoNumbers(self, l1: Optional[ListNode], l2: Optional[ListNode]) -> Optional[ListNode]: # Create a dummy node to start the result linked list dummy = ListNode() res = dummy # This will be used to return the result total = carry = 0 # Initialize total and carry variables # Loop until both lists are fully traversed and there's no carry left while l1 or l2 or carry: total = carry # Start with carry from the previous step if l1: total += l1.val # Add l1's value if it exists l1 = l1.next # Move to the next node in l1 if l2: total += l2.val # Add l2's value if it exists l2 = l2.next # Move to the next node in l2 # Compute the new digit and update the carry num = total % 10 # Digit to store in the node carry = total // 10 # Carry for the next step # Create a new node with the computed digit and link it dummy.next = ListNode(num) dummy = dummy.next # Move dummy to the new node # Return the next node after the dummy, which is the actual head of the result list return res.next ``` ## /problems/solutions/0002-add-two-numbers/solution.ts ```ts path="/problems/solutions/0002-add-two-numbers/solution.ts" class ListNode { val: number; next: ListNode | null; constructor(val?: number, next?: ListNode | null) { this.val = val === undefined ? 0 : val; this.next = next === undefined ? null : next; } } function addTwoNumbers( l1: ListNode | null, l2: ListNode | null ): ListNode | null { const dummy = new ListNode(); let current = dummy; let carry = 0; while (l1 || l2 || carry) { let total = carry; if (l1) { total += l1.val; l1 = l1.next; } if (l2) { total += l2.val; l2 = l2.next; } const num = total % 10; carry = Math.floor(total / 10); current.next = new ListNode(num); current = current.next; } return dummy.next; } ``` ## /problems/solutions/0003-longest-substring-without-repeating-characters/en/description.md # 3. Longest Substring Without Repeating Characters (Medium) Given a string `s`, find the length of the **longest** **substring** without duplicate characters. ## Example 1: Input: s = "abcabcbb" Output: 3 Explanation: The answer is "abc", with the length of 3. ## Example 2: Input: s = "bbbbb" Output: 1 Explanation: The answer is "b", with the length of 1. ## Example 3: Input: s = "pwwkew" Output: 3 Explanation: The answer is "wke", with the length of 3. Notice that the answer must be a substring, "pwke" is a subsequence and not a substring. ## Constraints - `0 <= s.length <= 5 * 104` - `s` consists of English letters, digits, symbols and spaces. ## /problems/solutions/0003-longest-substring-without-repeating-characters/en/explanation.md ## /problems/solutions/0003-longest-substring-without-repeating-characters/pt/descricao.md # 3. Substring Mais Longa Sem Caracteres Repetidos (Médio) Dada uma string `s`, encontre o comprimento da **maior** **substring** que não contenha caracteres duplicados. ## Exemplo 1: Entrada: s = "abcabcbb" Saída: 3 Explicação: A resposta é "abc", com comprimento 3. ## Exemplo 2: Entrada: s = "bbbbb" Saída: 1 Explicação: A resposta é "b", com comprimento 1. ## Exemplo 3: Entrada: s = "pwwkew" Saída: 3 Explicação: A resposta é "wke", com comprimento 3. Note que a resposta deve ser uma substring; "pwke" é uma subsequência, e não uma substring. ## Restrições - `0 <= s.length <= 5 * 10⁴` - `s` consiste em letras do alfabeto inglês, dígitos, símbolos e espaços. ## /problems/solutions/0003-longest-substring-without-repeating-characters/pt/explicacao.md ## /problems/solutions/0003-longest-substring-without-repeating-characters/solution.py ```py path="/problems/solutions/0003-longest-substring-without-repeating-characters/solution.py" ## class Solution: ## def lengthOfLongestSubstring(self, s: str) -> int: ## ``` ## /problems/solutions/0020-valid-parentheses/en/description.md # 20. Valid Parentheses (Easy) Given a string `s` containing just the characters `'('`, `')'`, `'{'`, `'}'`, `'['` and `']'`, determine if the input string is valid. An input string is valid if: 1. Open brackets must be closed by the same type of brackets. 2. Open brackets must be closed in the correct order. 3. Every close bracket has a corresponding open bracket of the same type. ## Example 1: Input: s = "()" Output: true ## Example 2: Input: s = "()[]{}" Output: true ## Example 3: Input: s = "(]" Output: false ## Example 4: Input: s = "([])" Output: true ## Constraints * `1 <= s.length <= 104` * `s` consists of parentheses only `'()[]{}'`. ## /problems/solutions/0020-valid-parentheses/en/explanation.md # Validating Balanced Brackets Explained Hey there! So this code is checking if a string has properly balanced brackets. You know, like when you're coding and need to make sure all your parentheses, curly braces, and square brackets are properly opened and closed in the right order. Here's what's happening: The function `isValid` takes a string as input and tells us whether the brackets in it are valid (returns `true`) or not (returns `false`). We use a stack (basically a list where we only add/remove from one end) to keep track of the opening brackets we've seen. Every time we see an opening bracket - `(`, `{`, or `[` - we push it onto our stack. When we come across a closing bracket - `)`, `}`, or `]` - we check if it matches the most recent opening bracket in our stack. If it does, great! We pop that opening bracket off the stack and continue. If not, or if the stack is empty (meaning we found a closing bracket without a matching opening one), we return `false` right away. After going through the entire string, we do one final check: if the stack is empty, it means all opening brackets were properly closed, so we return `true`. If there's anything left in the stack, it means some opening brackets never got closed, so we return `false`. It's like making sure all your doors that you opened get closed properly before you leave the house! ## /problems/solutions/0020-valid-parentheses/pt/descricao.md # 20. Valid Parentheses (Fácil) Dada uma string `s` contendo apenas os personagens` '(' `,` ')' `,` '{' `,` '}' `, `'['` e `']'`, determine se a sequência de entrada é válida. Uma sequência de entrada é válida se: 1. Suportes abertos devem ser fechados pelo mesmo tipo de colchetes. 2. Os suportes abertos devem ser fechados na ordem correta. 3. Todo suporte próximo possui um suporte aberto correspondente do mesmo tipo. ## Exemplo 1: Entrada: s = "()" Saída: true ## Exemplo 2: Entrada: s = "() [] {}" Saída: true ## Exemplo 3: Entrada: s = "(]" Saída: false ## Exemplo 4: Entrada: s = "([])" Saída: true ## restrições * `1 <= S.Length <= 104` * `s` consiste em apenas parênteses` '() [] {}' `. ## /problems/solutions/0020-valid-parentheses/pt/explicacao.md # Explicação da validação de colchetes balanceados E aí! Este código está verificando se uma string tem colchetes corretamente balanceados. Sabe quando você está programando e precisa garantir que todos os parênteses, chaves e colchetes estejam abertos e fechados na ordem certa? Veja o que está acontecendo: A função `isValid` recebe uma string como entrada e nos diz se os colchetes nela são válidos (retorna `true`) ou não (retorna `false`). Usamos uma pilha (basicamente uma lista onde só adicionamos/removemos de uma extremidade) para acompanhar os colchetes de abertura que encontramos. Cada vez que vemos um colchete de abertura - `(`, `{`, ou `[` - nós o colocamos na nossa pilha. Quando encontramos um colchete de fechamento - `)`, `}`, ou `]` - verificamos se ele corresponde ao colchete de abertura mais recente na nossa pilha. Se corresponder, ótimo! Removemos aquele colchete de abertura da pilha e continuamos. Se não corresponder, ou se a pilha estiver vazia (significando que encontramos um colchete de fechamento sem um de abertura correspondente), retornamos `false` imediatamente. Depois de percorrer toda a string, fazemos uma verificação final: se a pilha estiver vazia, significa que todos os colchetes de abertura foram fechados corretamente, então retornamos `true`. Se ainda houver algo na pilha, significa que alguns colchetes de abertura nunca foram fechados, então retornamos `false`. É como garantir que todas as portas que você abriu sejam fechadas corretamente antes de sair de casa! ## /problems/solutions/0020-valid-parentheses/solution.py ```py path="/problems/solutions/0020-valid-parentheses/solution.py" ## class Solution: ## def isValid(self, s: str) -> bool: ## ``` ## /problems/solutions/0020-valid-parentheses/solution.ts ```ts path="/problems/solutions/0020-valid-parentheses/solution.ts" function isValid(s: string): boolean { const stack: string[] = []; const bracketMap = { ')': '(', '}': '{', ']': '[' } for (let char of s) { if (char === '(' || char === '{' || char === '[') { stack.push(char) } else { if (stack.length === 0 || stack.pop() !== bracketMap[char]) { return false; } } }; return stack.length === 0; } ``` ## /problems/solutions/0035-search-insert-position/en/description.md # 35. Search Insert Position (Easy) Given a sorted array of distinct integers and a target value, return the index if the target is found. If not, return the index where it would be if it were inserted in order. You must write an algorithm with `O(log n)` runtime complexity. ## Example 1: Input: nums = [1,3,5,6], target = 5 Output: 2 ## Example 2: Input: nums = [1,3,5,6], target = 2 Output: 1 ## Example 3: Input: nums = [1,3,5,6], target = 7 Output: 4 ## Constraints - `1 <= nums.length <= 104` - `-104 <= nums[i] <= 104` - `nums` contains **distinct** values sorted in **ascending** order. - `-104 <= target <= 104` ## /problems/solutions/0035-search-insert-position/en/explanation.md ## /problems/solutions/0035-search-insert-position/pt/descricao.md # 35. Posição de Inserção de Busca (Fácil) Dado um array ordenado de inteiros distintos e um valor alvo, retorne o índice se o valor alvo for encontrado. Caso contrário, retorne o índice onde ele estaria se fosse inserido na ordem correta. Você deve escrever um algoritmo com complexidade de tempo `O(log n)`. ## Exemplo 1: Entrada: nums = [1,3,5,6], target = 5 Saída: 2 ## Exemplo 2: Entrada: nums = [1,3,5,6], target = 2 Saída: 1 ## Exemplo 3: Entrada: nums = [1,3,5,6], target = 7 Saída: 4 ## Restrições - `1 <= nums.length <= 10⁴` - `-10⁴ <= nums[i] <= 10⁴` - `nums` contém valores **distintos** ordenados em **ordem crescente**. - `-10⁴ <= target <= 10⁴` ## /problems/solutions/0035-search-insert-position/pt/explicacao.md ## /problems/solutions/0035-search-insert-position/solution.py ```py path="/problems/solutions/0035-search-insert-position/solution.py" ``` ## /problems/solutions/0035-search-insert-position/solution.ts ```ts path="/problems/solutions/0035-search-insert-position/solution.ts" function searchInsert(nums: number[], target: number): number { // Initialize the result index to 0 by default. // If all elements are greater than target, we’ll return 0. let finalIndex = 0; // Iterate over all indices in the array. // Note: using `for…in` gives string keys, so we convert to Number. for (const num in nums) { const index = Number(num); // Current element at position `index` const currentNumber = nums[index]; // Next element in sequence (may be undefined if index is at end) const nextNumber = nums[index + 1]; // Case 1: If we find the target exactly, record its index. if (currentNumber === target) { finalIndex = index; } // Case 2: If target is greater than currentNumber... if (currentNumber < target) { // …and either the next element is >= target, or there's no next element, // then target should be inserted right after currentNumber. if (nextNumber >= target || typeof nextNumber === "undefined") { finalIndex = index + 1; } } } // Return the resolved index where target is found or should be inserted. return finalIndex; } ``` ## /problems/solutions/0148-sort-list/en/description.md # 148. Sort List (Medium) Given the `head` of a linked list, return _the list after sorting it in **ascending order**_. ## Example 1: ![](https://assets.leetcode.com/uploads/2020/09/14/sort_list_1.jpg) Input: head = [4,2,1,3] Output: [1,2,3,4] ## Example 2: ![](https://assets.leetcode.com/uploads/2020/09/14/sort_list_2.jpg) Input: head = [-1,5,3,4,0] Output: [-1,0,3,4,5] ## Example 3: Input: head = [] Output: [] ## Constraints - The number of nodes in the list is in the range `[0, 5 * 104]`. - `-105 <= Node.val <= 105` **Follow up:** Can you sort the linked list in `O(n logn)` time and `O(1)` memory (i.e. constant space)? ## /problems/solutions/0148-sort-list/en/explanation.md ## /problems/solutions/0148-sort-list/pt/descricao.md # 148. Ordenar Lista (Médio) Dado o `head` de uma lista ligada, retorne **a lista após ordená-la em ordem crescente**. ## Exemplo 1: ![](https://assets.leetcode.com/uploads/2020/09/14/sort_list_1.jpg) Entrada: head = [4,2,1,3] Saída: [1,2,3,4] ## Exemplo 2: ![](https://assets.leetcode.com/uploads/2020/09/14/sort_list_2.jpg) Entrada: head = [-1,5,3,4,0] Saída: [-1,0,3,4,5] ## Exemplo 3: Entrada: head = [] Saída: [] ## Restrições - O número de nós na lista está no intervalo `[0, 5 * 10⁴]`. - `-10⁵ <= Node.val <= 10⁵` **Desafio:** Você consegue ordenar a lista ligada em tempo `O(n logn)` e **memória constante** (ou seja, espaço `O(1)`)? ## /problems/solutions/0148-sort-list/pt/explicacao.md ## /problems/solutions/0148-sort-list/solution.py ```py path="/problems/solutions/0148-sort-list/solution.py" from typing import Optional class ListNode(object): def __init__(self, val=0, next=None): self.val = val self.next = next class Solution: def sortList(self, head: Optional[ListNode]) -> Optional[ListNode]: # Base case: if the list is empty or has only one node, it's already sorted if not head or not head.next: return head # Helper function to find the middle of the linked list def find_middle(head: ListNode) -> ListNode: slow = head fast = head.next # Move 'fast' two steps and 'slow' one step to find the middle while fast and fast.next: slow = slow.next fast = fast.next.next return slow # 'slow' will be at the middle # Helper function to merge two sorted linked lists def merge(l1: Optional[ListNode], l2: Optional[ListNode]) -> Optional[ListNode]: dummy = ListNode() tail = dummy # Merge nodes in sorted order while l1 and l2: if l1.val < l2.val: tail.next = l1 l1 = l1.next else: tail.next = l2 l2 = l2.next tail = tail.next # Append any remaining nodes tail.next = l1 or l2 return dummy.next # Return the head of the merged list # Split the list into two halves middle = find_middle(head) right_head = middle.next middle.next = None # Break the list into two halves # Recursively sort both halves left = self.sortList(head) right = self.sortList(right_head) # Merge the sorted halves return merge(left, right) ``` ## /problems/solutions/0148-sort-list/solution.ts ```ts path="/problems/solutions/0148-sort-list/solution.ts" function sortList(head: ListNode | null): ListNode | null { // Base case: if the list is empty or has only one node, it's already sorted if (!head || !head.next) return head; // Helper function to find the middle node of the linked list const findMiddle = (head: ListNode): ListNode => { let slow: ListNode = head; let fast: ListNode | null = head.next; // Move 'fast' two steps and 'slow' one step to find the middle while (fast && fast.next) { slow = slow.next!; fast = fast.next.next; } return slow; // 'slow' will be at the middle }; // Helper function to merge two sorted linked lists const mergeTwoLists = ( l1: ListNode | null, l2: ListNode | null ): ListNode | null => { const dummy = new ListNode(); // Dummy node to simplify merging let tail = dummy; // Merge nodes in sorted order while (l1 && l2) { if (l1.val < l2.val) { tail.next = l1; l1 = l1.next; } else { tail.next = l2; l2 = l2.next; } tail = tail.next; } // Append any remaining nodes tail.next = l1 || l2; return dummy.next; // Return the head of the merged list }; // Split the list into two halves const middle = findMiddle(head); const nextToMiddle = middle.next; middle.next = null; // Break the list // Recursively sort both halves const left = sortList(head); const right = sortList(nextToMiddle); // Merge the sorted halves return mergeTwoLists(left, right); } ``` ## /problems/solutions/0345-reverse-vowels-of-a-string/en/description.md # 345. Reverse Vowels of a String (Easy) Given a string `s`, reverse only all the vowels in the string and return it. The vowels are `'a'`, `'e'`, `'i'`, `'o'`, and `'u'`, and they can appear in both lower and upper cases, more than once. ## Example 1: Input: s = "IceCreAm" Output: "AceCreIm" Explanation: The vowels in `s` are `['I', 'e', 'e', 'A']`. On reversing the vowels, s becomes `"AceCreIm"`. ## Example 2: Input: s = "leetcode" Output: "leotcede" ## Constraints * `1 <= s.length <= 3 * 105` * `s` consist of **printable ASCII** characters. ## /problems/solutions/0345-reverse-vowels-of-a-string/en/explanation.md ## /problems/solutions/0345-reverse-vowels-of-a-string/pt/descricao.md ## /problems/solutions/0345-reverse-vowels-of-a-string/pt/explicacao.md ## /problems/solutions/0345-reverse-vowels-of-a-string/solution.py ```py path="/problems/solutions/0345-reverse-vowels-of-a-string/solution.py" ## class Solution: ## def reverseVowels(self, s: str) -> str: ## ``` ## /problems/solutions/0345-reverse-vowels-of-a-string/solution.ts ```ts path="/problems/solutions/0345-reverse-vowels-of-a-string/solution.ts" function reverseVowels(s: string): string { const vowels = ["a", "e", "i", "o", "u"]; const stringArray = s.split(""); const vowelsInString: string[] = []; for (const possibleVowel of stringArray) { if (vowels.includes(possibleVowel.toLowerCase())) { vowelsInString.push(possibleVowel); } } let vowelIndex = vowelsInString.length - 1; for (let i = 0; i < stringArray.length; i++) { if (vowels.includes(stringArray[i].toLowerCase())) { stringArray[i] = vowelsInString[vowelIndex]; vowelIndex--; } } return stringArray.join(""); } ``` ## /problems/solutions/0509-Fibonacci-Number/Solution.java ```java path="/problems/solutions/0509-Fibonacci-Number/Solution.java" class Solution { // Method that calculates the Fibonacci number for a given 'n' public static int fib(int n) { // Initializing the first two variables of the Fibonacci sequence int a = 0; // Initially, a = 0 (Fibonacci of 0) int b = 1; // b = 1 (Fibonacci of 1) int fibonacci = 0; // Variable to store the current Fibonacci number // Loop to calculate the Fibonacci sequence up to the desired number for (int i = 0; i < n; i++) { // The next Fibonacci number is the sum of the two previous ones fibonacci = a + b; // Update the value of 'b' to be the current value of 'a' b = a; // Update 'a' with the newly calculated Fibonacci value a = fibonacci; } // Return the Fibonacci value after 'n' iterations return fibonacci; } } ``` ## /problems/solutions/0509-Fibonacci-Number/en/description.md # 509. Fibonacci Number | Easy The Fibonacci numbers, commonly denoted as F(n), form a sequence called the **Fibonacci sequence**, where each number is the sum of the two preceding ones, starting from 0 and 1. That is: - F(0) = 0 - F(1) = 1 - F(n) = F(n - 1) + F(n - 2), for n > 1. Given a number n, calculate F(n). --- ## Examples ### Example 1: - **Input:** n = 2 - **Output:** 1 - **Explanation:** F(2) = F(1) + F(0) = 1 + 0 = 1. ### Example 2: - **Input:** n = 3 - **Output:** 2 - **Explanation:** F(3) = F(2) + F(1) = 1 + 1 = 2. ### Example 3: - **Input:** n = 4 - **Output:** 3 - **Explanation:** F(4) = F(3) + F(2) = 2 + 1 = 3. --- ## Constraints - 0 <= n <= 30 --- #### Developer - [Vítor](https://github.com/euvitorti) ## /problems/solutions/0509-Fibonacci-Number/en/explanation.md ## 🧠 Logic of the Solution - Fibonacci This solution solves the Fibonacci number problem using an **iterative approach**, meaning it uses a loop instead of recursion. ### 💡 Main Idea: The logic is based on the definition of the Fibonacci sequence: **each number is the sum of the two preceding ones**. So, the algorithm starts with the first two values (0 and 1) and keeps updating the next values until it reaches the desired position. ### 🔄 How it works: - It begins with the first two numbers of the sequence: `0` and `1`. - In each loop iteration, it adds the two previous numbers to calculate the next one. - Then it updates the variables: the latest number becomes the "previous", and the new result becomes the "current". - This process repeats until it reaches position `n`. ### ✅ Advantages: - It's efficient: avoids recursive calls and repeated calculations. - Works well for small and medium values of `n`, especially within the constraint `0 <= n <= 30`. --- #### Developer - [Vítor](https://github.com/euvitorti) ## /problems/solutions/0509-Fibonacci-Number/pt/descrição.md # 509. Número de Fibonacci | Fácil Os números de Fibonacci, comumente denotados por F(n), formam uma sequência chamada **sequência de Fibonacci**, em que cada número é a soma dos dois anteriores, começando por 0 e 1. Ou seja: - F(0) = 0 - F(1) = 1 - F(n) = F(n - 1) + F(n - 2), para n > 1. Dado um número n, calcule F(n). --- ## Exemplos ### Exemplo 1: - **Entrada:** n = 2 - **Saída:** 1 - **Explicação:** F(2) = F(1) + F(0) = 1 + 0 = 1. ### Exemplo 2: - **Entrada:** n = 3 - **Saída:** 2 - **Explicação:** F(3) = F(2) + F(1) = 1 + 1 = 2. ### Exemplo 3: - **Entrada:** n = 4 - **Saída:** 3 - **Explicação:** F(4) = F(3) + F(2) = 2 + 1 = 3. --- ## Restrições - 0 <= n <= 30 --- #### Solucionador - [Vítor](https://github.com/euvitorti) ## /problems/solutions/0509-Fibonacci-Number/pt/explicação.md ## 🧠 Lógica da Solução - Fibonacci Essa solução resolve o problema do número de Fibonacci de forma **iterativa**, ou seja, usando um laço de repetição ao invés de recursão. ### 💡 Ideia principal: A lógica se baseia na própria definição da sequência de Fibonacci: **cada número é a soma dos dois anteriores**. Então, o algoritmo começa com os dois primeiros valores da sequência (0 e 1) e vai atualizando os próximos valores até chegar no número desejado. ### 🔄 Como funciona: - Começamos com os dois primeiros números da sequência: `0` e `1`. - A cada repetição, somamos os dois últimos números para obter o próximo. - Depois atualizamos esses dois valores: o mais recente vira o anterior, e o novo resultado vira o atual. - Esse processo se repete até chegar na posição `n`. ### ✅ Vantagens: - É eficiente: evita chamadas recursivas e cálculos repetidos. - Funciona bem para valores de `n` pequenos e médios, especialmente dentro do limite de `0 <= n <= 30`. --- #### Solucionador - [Vítor](https://github.com/euvitorti) ## /problems/summary.md # Problems Summary This summary includes the challenges from LeetCode that we have already solved, **organized by ID**. Each problem offers an opportunity to practice and improve our algorithmic skills, from basic concepts to advanced topics. 1. [Two Sum](problems\solutions\1-two-sum\solution.py) ## /requirements.txt Binary file available at https://raw.githubusercontent.com/caio-andres/leetcode-challenge/refs/heads/main/requirements.txt The better and more specific the context, the better the LLM can follow instructions. If the context seems verbose, the user can refine the filter using uithub. Thank you for using https://uithub.com - Perfect LLM context for any GitHub repo.
Selo Nome Como Ganhar Tipo Conquistável
Guardião Ter uma Classificação de Competição >=1600 e terminar entre os 5% melhores de uma competição Medalhas de Competição
Cavaleiro Ter uma Classificação de Competição >=1600 e terminar entre os 25% melhores de uma competição Medalhas de Competição
Selo Abr 2025 Enviar código diariamente em abril de 2025 Medalhas Diárias
Introdução ao Pandas Completar o plano de estudos "Introdução ao Pandas" Medalhas de Plano de Estudos
30 Dias de Pandas Completar o plano de estudos "30 Dias de Pandas" Medalhas de Plano de Estudos
30 Dias de JavaScript Completar o plano de estudos "30 Dias de JavaScript" Medalhas de Plano de Estudos
Top Entrevista 150 Completar o plano de estudos "Top Entrevista 150" Medalhas de Plano de Estudos
LeetCode 75 Completar o plano de estudos "LeetCode 75" Medalhas de Plano de Estudos
Top 100 Curtidos Completar o plano de estudos "Top 100 Curtidos" Medalhas de Plano de Estudos
SQL 50 Completar o plano de estudos "SQL 50" Medalhas de Plano de Estudos
Premium Algo 100 Completar o plano de estudos "Premium Algo 100" Medalhas de Plano de Estudos
SQL Avançado 50 Completar o plano de estudos "SQL Avançado 50" Medalhas de Plano de Estudos
Habilidades de Programação Completar o plano de estudos "Habilidades de Programação" Medalhas de Plano de Estudos
Programação Dinâmica Completar o plano de estudos "Programação Dinâmica" Medalhas de Plano de Estudos
Grande Mestre em Programação Dinâmica Completar o plano de estudos "Grande Mestre em Programação Dinâmica" Medalhas de Plano de Estudos
Teoria dos Grafos Completar o plano de estudos "Teoria dos Grafos" Medalhas de Plano de Estudos
Busca Binária Completar o plano de estudos "Busca Binária" Medalhas de Plano de Estudos
Selo 2000 Dias Enviar código em mais de 2000 dias distintos Dias de Submissão
Selo 1000 Dias Enviar código em mais de 1000 dias distintos Dias de Submissão
Selo 500 Dias Enviar código em mais de 500 dias distintos Dias de Submissão
Selo 365 Dias Enviar código em mais de 365 dias distintos Dias de Submissão
Selo Anual 2024 Enviar código em mais de 300 dias distintos em 2024 Medalhas Anuais
Selo 200 Dias 2024 Enviar código em mais de 200 dias distintos em 2024 Medalhas Anuais
Selo 100 Dias 2024 Enviar código em mais de 100 dias distintos em 2024 Medalhas Anuais
Selo 50 Dias 2024 Enviar código em mais de 50 dias distintos em 2024 Medalhas Anuais
Selo Anual 2023 Enviar código em mais de 300 dias distintos em 2023 Medalhas Anuais
Selo 100 Dias 2023 Enviar código em mais de 100 dias distintos em 2023 Medalhas Anuais
Selo 50 Dias 2023 Enviar código em mais de 50 dias distintos em 2023 Medalhas Anuais
Selo Anual 2022 Enviar código em mais de 300 dias distintos em 2022 Medalhas Anuais
Medalha Anual 2021 Enviar código em mais de 300 dias distintos em 2021 Medalhas Anuais
Selo Jan 2025 Enviar código diariamente em janeiro de 2025 Medalhas Diárias
Selo Fev 2025 Enviar código diariamente em fevereiro de 2025 Medalhas Diárias
Selo Mar 2025 Enviar código diariamente em março de 2025 Medalhas Diárias
Selo Mai 2025 Enviar código diariamente em maio de 2025 Medalhas Diárias
Selo Jun 2025 Enviar código diariamente em junho de 2025 Medalhas Diárias
Selo Jul 2025 Enviar código diariamente em julho de 2025 Medalhas Diárias
Selo Ago 2025 Enviar código diariamente em agosto de 2025 Medalhas Diárias
Selo Set 2025 Enviar código diariamente em setembro de 2025 Medalhas Diárias
Selo Out 2025 Enviar código diariamente em outubro de 2025 Medalhas Diárias
Selo Dez 2025 Enviar código diariamente em dezembro de 2025 Medalhas Diárias
Selo Jan 2024 Enviar código diariamente em janeiro de 2024 Medalhas Diárias
Selo Fev 2024 Enviar código diariamente em fevereiro de 2024 Medalhas Diárias
Selo Mar 2024 Enviar código diariamente em março de 2024 Medalhas Diárias
Selo Abr 2024 Enviar código diariamente em abril de 2024 Medalhas Diárias
Selo Mai 2024 Enviar código diariamente em maio de 2024 Medalhas Diárias
Selo Jun 2024 Enviar código diariamente em junho de 2024 Medalhas Diárias
Selo Jul 2024 Enviar código diariamente em julho de 2024 Medalhas Diárias
Selo Ago 2024 Enviar código diariamente em agosto de 2024 Medalhas Diárias
Selo Set 2024 Enviar código diariamente em setembro de 2024 Medalhas Diárias
Selo Out 2024 Enviar código diariamente em outubro de 2024 Medalhas Diárias
Selo Dez 2024 Enviar código diariamente em dezembro de 2024 Medalhas Diárias
Selo Nov 2024 Enviar código diariamente em novembro de 2024 Medalhas Diárias
Selo Jan 2023 Enviar código diariamente em janeiro de 2023 Medalhas Diárias
Selo Fev 2023 Enviar código diariamente em fevereiro de 2023 Medalhas Diárias
Selo Mar 2023 Enviar código diariamente em março de 2023 Medalhas Diárias
Selo Abr 2023 Enviar código diariamente em abril de 2023 Medalhas Diárias
Selo Mai 2023 Enviar código diariamente em maio de 2023 Medalhas Diárias
Selo Jun 2023 Enviar código diariamente em junho de 2023 Medalhas Diárias
Selo Jul 2023 Enviar código diariamente em julho de 2023 Medalhas Diárias
Selo Ago 2023 Enviar código diariamente em agosto de 2023 Medalhas Diárias
Selo Set 2023 Enviar código diariamente em setembro de 2023 Medalhas Diárias
Selo Out 2023 Enviar código diariamente em outubro de 2023 Medalhas Diárias
Selo Nov 2023 Enviar código diariamente em novembro de 2023 Medalhas Diárias