You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+12-7Lines changed: 12 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -1,21 +1,24 @@
1
1
2
2
# Introduction
3
3
4
-
This is a `Leetcode` weekly and biweekly contest rating predictor. The APP is available online at [π lccn.lbao.site](https://lccn.lbao.site/)
4
+
This is a LeetCode weekly and biweekly contest rating predictor. The APP is available online at [π lccn.lbao.site](https://lccn.lbao.site/)
5
5
6
-
Hopefully, you can get the predicted result within 15-30 minutes after the contest has finished.
6
+
Hopefully, you can get the predicted result within **15-30 minutes** after the contest has finished.
7
7
8
8
## Features
9
+
9
10
* β‘οΈ Fast
10
-
> 1. The core prediction algorithm is accelerated by a JIT compiler([Numba](https://numba.pydata.org/)) which costs around 20 seconds on a two-cores *Intel(R) Xeon(R) Platinum 8255C CPU* (@ 2.50GHz).
11
-
> 2. User's latest rating was **cached** several times before predicting which can save a lot of time fetching data.
11
+
* The core Elo rating algorithm is significantly enhanced by a **Just-In-Time (JIT) compiler** through [Numba](https://numba.pydata.org), reducing execution time to approximately 20 seconds on a dual-core *Intel(R) Xeon(R) Platinum 8255C CPU* (@ 2.50GHz).
12
+
* In addition to the JIT implementation, this project incorporates a [Fast Fourier Transform (FFT) implementation](https://github.com/baoliay2008/lccn_predictor/pull/43). The Elo rating system employed by LeetCode benefits significantly from the FFT algorithm, achieving speedups ranging from **65 to 1,000 times** for individual contest predictions. The most efficient FFT implementation (`EXPAND_SIZE=1`) completes predictions in under **0.25 seconds**, maintaining an impressively low Mean Squared Error (MSE) of approximately 0.027.
13
+
***Caching** the user's latest rating before initiating the prediction process leads to a substantial reduction in the time required for data retrieval.
12
14
* π― Accurate
13
-
> 1.If there were no massive rejudges(say, everyone's global ranking stays unchanged), the rating difference should be negligible.
14
-
> 2. Please note that a normal case is that there would be some misconduct detection, so your global ranking will be slightly higher even if your submissions are not rejudged, which results in a slightly higher rating :)
15
+
*If there were no significant rejudges (assuming everyone's global ranking remains unchanged), it is ensured that the prediction error for rating deltas for **EACH** participant is within the precision limit of 0.05. As a result, the rating difference should be negligible.
16
+
* Please note that a normal case is that there would be some misconduct detection, so your global ranking will be slightly higher even if your submissions are not rejudged, which results in a slightly higher rating :)
15
17
* π± Responsive web page
16
-
>Tested on phones and tablets.
18
+
* Tested on phones and tablets.
17
19
18
20
## More Information
21
+
19
22
*[π Chinese introduction on leetcode.cn](https://leetcode.cn/circle/discuss/2Ibimx/)
20
23
*[π refined-leetcode](https://github.com/XYShaoKang/refined-leetcode): A Chrome extension for leetcode.**cn**, created by [@XYShaoKang](https://github.com/XYShaoKang)
21
24
@@ -25,6 +28,8 @@ Hopefully, you can get the predicted result within 15-30 minutes after the conte
25
28
26
29
*[π English official illustration on leetcode.com](https://leetcode.com/discuss/general-discussion/468851/New-Contest-Rating-Algorithm-(Coming-Soon))
27
30
*[π Chinese official illustration on leetcode.cn](https://leetcode.cn/circle/article/neTUV4/)
31
+
* π Detailed post about FFT acceleration
32
+
- β€οΈ Special thanks to [@tiger2005](https://github.com/tiger2005) for proposing this idea in [issue #8](https://github.com/baoliay2008/lccn_predictor/issues/8)
0 commit comments