news 2026/8/26 20:13:17

为什么LeetCode官方难度标签不够用?leetcode_problem_rating竞赛题目难度评级工具完整解读

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
为什么LeetCode官方难度标签不够用?leetcode_problem_rating竞赛题目难度评级工具完整解读

为什么LeetCode官方难度标签不够用?leetcode_problem_rating竞赛题目难度评级工具完整解读

【免费下载链接】leetcode_problem_ratingSelf-calculated rating of problems in leetcode weekly/biweekly contests.项目地址: https://gitcode.com/gh_mirrors/le/leetcode_problem_rating

leetcode_problem_rating 是一款LeetCode 竞赛题目难度评级工具,基于 Elo 评分系统 + 最大似然估计,为每道 LeetCode 周赛/双周赛题目算出一个精确到小数的难度分数。一个数字就能告诉你任意竞赛题的真实难度,比官方 Easy/Medium/Hard 三档标签实用得多,每周自动更新数据 📊

一、官方 Easy/Medium/Hard 标签为什么不够用?

如果你常打周赛,一定有这样的经历:

  • 三档太粗:所有 "Hard" 题都叫 Hard,但其中 1600 分的题和 3500 分的题,难度根本是两个世界;
  • 标签是静态的:官方难度基本不随社区变强而调整,同一档内跨度可达上千分;
  • 竞赛题经常"骗人":有些题标着 Medium,实际却是最难啃的 1700+ 分题。

所以很多刷题党想知道的其实是:这道题到底相当于几分?leetcode_problem_rating 就是为回答这个问题而生的。

二、leetcode_problem_rating 是如何给题目打分的?

🎯 它的评分引擎(后端计算)结合了两种经典方法:

  1. Elo 评分系统:和棋类比赛一样,把"用户分数"与"题目难度"互相校准——高分用户能做出来的题,难度自然被推高;
  2. 最大似然估计(MLE):利用大量用户的提交结果,反推出每道题最可能的难度分值。

几个需要提前了解的事实:

事实说明
数据来源由爬虫抓取 LeetCode 周赛/双周赛的题目与提交数据
更新频率每周赛后更新一次
覆盖范围不含第 1~62 场周赛(早期接口不同),共 2500+ 道竞赛题
后端代码出于合规考虑未开源,仅开源前端与数据
精确度作者声明:不是 100% 准确,但足以评估题目的相对难度

三、数据速览:2561 道竞赛题的难度全景

打开 ratings.txt 就能按难度降序看到全部题目。目前分数范围大约在1084 ~ 3773分之间。

难度 Top 5 题目一览(节选自 ratings.txt):

排名题目出处位置评分
1判断矩形的两个角落是否可达第 408 场周赛Q43773.76
2循环划分的最大得分第 475 场周赛Q43124.50
3交替组 III第 409 场周赛Q43112.04
4标记所有下标的最早秒数 II第 386 场周赛Q43111.13
5最小可整除数位乘积 II第 143 场双周赛Q43101.48

而全场最轻松的题是第 144 场周赛 Q1「IP 地址无效化」(ID 1108),仅 1084.13 分。

📌 一个有趣的现象:几乎所有 3000+ 的高分题都出自Q4,说明竞赛最后一题与前三题的难度断层非常明显——这正是官方三档标签看不出来的细节。

四、在线查询指南:三步定位任意题目分数

该项目的前端是一个 Vue 3 + TypeScript 单页应用(ProblemRating.vue),已部署为在线站点。使用方法非常简单:

  1. 输入关键词:搜题目 ID、英文名或中文名,回车即可筛选;
  2. 按比赛编号定位:填入周赛/双周赛场次数(如 408),快速查看整场比赛的难度分布;
  3. 按分数区间过滤:设置评分区间的左右边界,只看你目标难度段的题目,还可以点击表头对任意列排序。

站点支持中英文一键切换(文案见 zh.ts),表格中每道题都可直接点击跳转到 LeetCode 对应题目页和比赛页,找题 → 看难度 → 去刷题,一步不断档。

五、本地使用:把数据文件直接拿回来

如果你想在自己的脚本或插件里用这份难度数据,直接克隆仓库即可:

git clone https://gitcode.com/gh_mirrors/le/leetcode_problem_rating

仓库内数据文件说明:

  • ratings.txt:原始数据,制表符分隔,按评分降序排列,共 2561 行。每行 7 列:Rating / ID / Title / Title ZH / Title Slug / Contest Slug / Problem Index
  • gen.py:一个极简的 Python 脚本,把 ratings.txt 转成前端用的 data.json,顺便把比赛 slug 转换成 "Weekly Contest N / 第 N 场周赛" 这样的友好名称;
  • data.json:转换后的 JSON 数据,也是前端页面加载的数据源。

这样你在本地也能用几行 pandas 或 awk 就完成统计,比如"统计某场双周赛四道题的难度均值"。

六、项目结构一览

leetcode_problem_rating ├── ratings.txt # 原始难度数据(每周更新) ├── gen.py # txt → json 转换脚本 ├── data.json # 前端数据源 ├── public/ # 静态资源 └── src/ ├── views/ProblemRating.vue # 查询页面主体 ├── locale/ # 中/英文案(zh.ts / en.ts) ├── router/ # 路由 └── store/ # 状态管理

技术栈为 Vue 3 + Element Plus + vue-router + vuex + vue-i18n,结构清晰,适合想学 Vue 3 组合式 API 的新手阅读 src/main.ts 的入口代码。

七、常见问题 FAQ

Q1:评分准确吗?作者明确说"不是 100% 准确,但足以评估题目相对难度"。把它当作一个相对难度坐标使用最合理。

Q2:为什么没有第 1~62 场周赛的数据?早期比赛的接口与其他比赛不同,数据无法采集,所以结果中不包含这部分。

Q3:为什么不开源后端?后端依赖网页爬虫抓取数据,为避免违反平台条款和相关规定,作者选择不公开这部分代码,仅开源前端和数据。

Q4:数据会一直更新吗?会的。ratings.txt 会在每周赛后更新,仓库通过 CI 自动构建部署在线站点。


一句话总结:官方标签告诉你"这题是 Hard",leetcode_problem_rating 告诉你"这道题相当于 3124 分"。无论是安排刷题计划、判断竞赛出题难度,还是做难度预测插件,这份持续更新的竞赛题难度评级数据都值得收藏 ⭐

【免费下载链接】leetcode_problem_ratingSelf-calculated rating of problems in leetcode weekly/biweekly contests.项目地址: https://gitcode.com/gh_mirrors/le/leetcode_problem_rating

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/26 20:12:43

Uglifier选项完全速查表:60+压缩配置参数一文看懂

Uglifier选项完全速查表:60压缩配置参数一文看懂 【免费下载链接】uglifier Ruby wrapper for UglifyJS JavaScript compressor. 项目地址: https://gitcode.com/gh_mirrors/ug/uglifier Uglifier 是一个用于 Ruby 的 JavaScript 压缩器封装 gem,…

作者头像 李华
网站建设 2026/8/26 20:10:03

接到第十个系统那天我崩溃了:MCP 到底解决了什么问题

AI 应用技术全景图 第7篇 / 共16篇 在这里插入图片描述 大家好,我是程序猿Joe。 上一篇讲完 Function Calling,我们那套助手已经能查订单、提工单、发通知了。当时我还挺得意,觉得这活儿干得挺漂亮。然后需求就一个接一个来了。 接 Jira,写一套 schema、一套鉴权、一套…

作者头像 李华
网站建设 2026/8/26 20:09:39

微信防撤回补丁怎么用:RevokeMsgPatcher 实操指南

微信防撤回补丁怎么用:RevokeMsgPatcher 实操指南 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了) 项目地址: https://gitcode.com/Gi…

作者头像 李华
网站建设 2026/8/26 20:09:35

【LGR-298-Div.2】洛谷 8 月月赛 III IXOI Round 2 记录

【LGR-298-Div.2】洛谷 8 月月赛 III & IXOI Round 2 A #include<iostream> #include<cstring> #include<vector> #include<cmath> #include<map> #include<algorithm> using namespace std; long long n; int main() {ios::sync_wit…

作者头像 李华
网站建设 2026/8/26 20:09:02

老款Mac升级最新macOS完整指南:用OpenCore Legacy Patcher免费搞定

老款Mac升级最新macOS完整指南&#xff1a;用OpenCore Legacy Patcher免费搞定 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher OpenCore Legacy Patcher 是一…

作者头像 李华
网站建设 2026/8/26 20:07:03

FlowNib 一键分发实测:从单篇母稿到全网适配的真实效果

做社交媒体运营最让人崩溃的瞬间&#xff0c;往往不是想不出创意&#xff0c;而是同一个内容要在十个不同的后台重复粘贴、调整格式、重新上传。你刚在 LinkedIn 发完一篇深度长文&#xff0c;转头就要把同样的核心信息压缩成 Twitter 的短讯&#xff0c;再给 Instagram 配上一…

作者头像 李华