Thanks to visit codestin.com
Credit goes to github.com

Skip to content

0zuimeng/leetcode-note

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎯 力扣征途 - 四轮进阶算法修炼之路

本项目全程使用AI构建,纯HTML,CSS,Javascript项目

一个系统化的LeetCode刷题进度跟踪工具,帮助你循序渐进地完成算法学习,科学地提升编程能力。

✨ 项目特色

  • 🎯 四轮进阶体系:从基础到困难,科学的分级训练
  • 📊 实时进度跟踪:直观显示完成情况和统计数据
  • 📅 可视化日历:打卡日历,直观展示刷题热度和详情
  • 💾 数据管理:支持导出/导入,防止数据丢失
  • 💡 刷题技巧指导:内置刷题经验和建议
  • 👥 多用户支持:不同用户数据独立存储
  • 🎨 现代化UI:渐变紫色主题,响应式设计
  • 📋 快速复制:一键复制题号,方便查找
  • 📝 题目标题显示:题目列表和日历详情中显示完整标题
  • 🔍 快速搜索:按题号或标题模糊搜索,并直接跳转
  • 🔗 题目跳转:一键跳转到 LeetCode 题目页面

📋 功能特点

✅ 核心功能

  1. 用户登录系统

    • 支持多用户,数据独立保存
    • 自动记住登录状态
  2. 四轮刷题计划

    • 第一轮:基础入门(简单题,通过率≥50%)- 137道
    • 第二轮:进阶提升(中等题,通过率≥50%)- 58道
    • 第三轮:算法理论(树、图、贪心、动态规划)- 184道
    • 第四轮:困难挑战(困难题和低通过率题)- 97道
  3. 题目分类管理

    • 9大基础分类:数学、数组、链表、字符串、哈希表、双指针、递归、栈、队列
    • 4大进阶分类:树、图与回溯算法、贪心、动态规划
  4. 题目显示

    • 题目列表显示题号和标题(格式:题号 - 标题)
    • 已完成题目使用紫色渐变背景,标题清晰可读
    • 已完成题目右下角显示打卡日期标签(格式:月/日)
    • 鼠标悬停题目显示详细信息:
      • 未打卡:显示题目信息和"点击打卡"提示
      • 已打卡:显示题目信息、精确打卡时间(年-月-日 时:分)和"点击取消打卡"提示
    • 悬停题目卡片显示操作按钮:
      • 📋 复制按钮(右上角,蓝色边框):复制题号
      • 🔗 跳转按钮(右下角,橙色边框):跳转到 LeetCode 题目页面
  5. 题目搜索

    • 支持按题号或标题关键词进行模糊搜索
    • 搜索结果按匹配度排序(完全匹配 > 开头匹配 > 包含匹配)
    • 实时显示去重后的结果列表,并标明题目所属分类
    • 鼠标悬浮可显示完整的题目和分类信息
    • 点击结果可直接跳转到题目所在分类并高亮显示
    • 若题目属于多个分类,弹窗让用户选择跳转位置
  6. 打卡功能

    • 点击题号即可标记完成/取消
    • 动画反馈效果
    • 实时更新进度统计
  7. 数据管理

    • 📥 导出数据为JSON文件
    • 📤 从文件导入恢复数据
    • ⚠️ 数据提醒横幅
  8. 刷题技巧指导

    • 详细的四轮刷题策略
    • 每轮的难度说明和顺序建议
    • 科学的学习路径规划
  9. 进度统计

    • 当前轮次显示
    • 已完成题目数
    • 总题目数
    • 完成率百分比
  10. 刷题日历 📅

  • 弹窗式日历显示
  • 日历标题显示当月完成题目总数(格式:2025年 一月 (本月完成 X 题))
  • 颜色热度图:根据每日刷题数量显示不同颜色
    • 无打卡:浅灰色
    • 1-2题:浅绿色
    • 3-5题:中绿色
    • 6+题:深绿色
  • 点击日期查看详细刷题记录
  • 按轮次分组显示题目信息(包含题号、标题、分类、难度)
  • 每个题目提供两个操作按钮:
    • 🔗 跳转按钮:跳转到 LeetCode 题目页面
    • 📋 复制按钮:复制题号(仅复制题号,不包含标题)

💡 刷题技巧指南

建议刷题的时候分成四轮来刷,不用想着第一次就把单个分类的全部刷完。

第一轮 - 基础入门 🟢

按照 数学 > 数组 > 链表 > 字符串 > 哈希表 > 双指针 > 递归 > 栈 > 队列 的顺序,主要刷:难度简单,通过率在50%以上的题目

第二轮 - 进阶提升 🔵

按照 数学 > 数组 > 链表 > 字符串 > 哈希表 > 双指针 > 递归 > 栈 > 队列 的顺序,主要刷:难度中等,通过率在50%以上的题目

第三轮 - 算法理论 🟠

⚠️ 先不要急着刷题! 建议找个视频,把相关算法理论看一遍,比如:什么是分治,什么是贪心,什么是动态规划,什么是二叉搜索树,什么是图等概念。

再把 树 > 图与回溯算法 > 贪心 > 动态规划 这些刷一遍,刷的时候还是刷简单或者中等,通过率50%以上的题目

第四轮 - 困难挑战 🔴

第四轮就比较难了,可以刷剩余困难的,还有以前没刷的,通过率低于50%的题目。但是这一轮会非常的难,难以坚持下去。

💪 坚持就是胜利!

🚀 使用方法

  1. 用浏览器打开 index.html
  2. 输入用户名登录(首次自动创建账号)
  3. 点击 💡 刷题技巧 查看详细攻略
  4. 选择要刷的轮次
  5. 点击分类查看题目
  6. 查看题目列表,每个题目显示题号和标题
  7. 点击题号进行打卡
  8. 使用顶部的搜索框快速查找题目
  9. 悬停题目卡片,使用操作按钮:
    • 点击 🔗 按钮跳转到 LeetCode 题目页面
    • 点击 📋 按钮快速复制题号
  10. 点击 📅 日历 查看刷题日历和历史记录
  11. 定期点击 💾 数据 导出备份进度

📅 日历功能使用说明

  1. 打开日历

    • 点击顶部导航栏的 📅 日历 按钮(紫色按钮)
    • 日历以弹窗形式展示
  2. 查看月度统计

    • 日历标题显示当月完成的题目总数
    • 格式:2025年 一月 (本月完成 X 题)
    • 点击"查看本月全部题目"按钮可查看详细列表
  3. 查看打卡情况

    • 日历使用颜色热度图显示每天的刷题数量
    • 颜色越深表示当天刷题越多
    • 今天的日期会用橙色边框高亮
  4. 查看详细记录

    • 点击任意有打卡记录的日期(有颜色的日期)
    • 弹出详情窗口,显示当天完成的所有题目
    • 题目按轮次分组,显示题号、标题、分类、难度
    • 每个题目提供两个操作按钮:
      • 🔗 跳转按钮:跳转到 LeetCode 题目页面
      • 📋 复制按钮:快速复制题号
  5. 切换月份

    • 使用 ◀ ▶ 按钮浏览不同月份的打卡记录
  6. 关闭日历

    • 点击右上角 ✕ 关闭按钮
    • 或点击弹窗外的灰色区域

📂 文件说明

  • index.html - 主页面结构(登录界面、主界面、弹窗)
  • style.css - 样式文件(渐变主题、响应式布局)
  • script.js - 核心功能逻辑(数据管理、UI渲染、进度跟踪)
  • problems-data.json - 题目数据(458道题的难度、通过率、分类、题目链接)
  • README.md - 项目说明文档

💾 数据存储

存储位置

用户数据存储在浏览器的 localStorage 中:

  1. 当前用户名

    • 键名:leetcodeUser
  2. 用户刷题进度

    • 键名:progress_{用户名}
    • 格式:JSON对象,包含四轮的打卡记录
  3. 横幅显示状态

    • 键名:noticeHidden

数据结构

{
  "round1": {
    "1": { "solvedAt": "2025-10-28T08:00:00.000Z", "round": "round1" },
    "2": { "solvedAt": "2025-10-28T08:05:00.000Z", "round": "round1" }
  },
  "round2": {},
  "round3": {},
  "round4": {}
}

查看数据

在浏览器开发者工具中:

  • Chrome/Edge:F12 → Application → Local Storage
  • Firefox:F12 → Storage → Local Storage

⚠️ 注意事项

  • 数据仅保存在当前浏览器中
  • 清除浏览器缓存会删除所有进度
  • 强烈建议定期导出备份数据

🛠️ 技术栈

  • 前端:纯 HTML/CSS/JavaScript
  • 存储:localStorage(本地存储)
  • 特性
    • 无需后端服务器
    • 响应式CSS布局
    • 现代化动画效果
    • Clipboard API(复制功能)

📊 题目数据

题目号来源于网络,难度和通过率来源于AI搜索,会有不准的数据,可以自行增删改。

项目包含 458道 精选LeetCode题目:

  • 涵盖13个算法分类
  • 包含简单、中等、困难三个难度
  • 记录每题的通过率数据
  • 根据难度和通过率智能分配到四个轮次

🎨 界面设计

  • 渐变紫色主题:现代、优雅
  • 卡片式布局:清晰、直观
  • 动画效果:流畅的交互体验
  • 响应式设计:适配手机和电脑
  • Emoji图标:增强视觉吸引力

⭐ 使用建议

  1. 循序渐进:严格按照四轮顺序完成
  2. 每日打卡:养成每天刷题的习惯
  3. 定期备份:每周导出一次数据
  4. 理论先行:第三轮前务必学习算法理论
  5. 复习巩固:定期回顾已完成的题目
  6. 记录笔记:在LeetCode网站上记录解题思路

🔮 功能规划

未来可能添加的功能:

  • 刷题日历可视化 ✅ 已完成
  • 题目跳转到 LeetCode ✅ 已完成
  • 题目难度和分类的自定义筛选
  • 学习时长统计
  • 每日打卡提醒
  • 题目笔记功能
  • 错题本功能
  • 复习提醒系统
  • 数据可视化图表
  • 题目标签系统
  • 社交分享功能

📧 反馈与建议

如有问题或建议,欢迎提出!


祝你在力扣征途上披荆斩棘,早日掌握算法精髓! 🎉

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published