力扣最受欢迎的语言是什么呢?我发现大家对这个问题的答案可能有一些分歧,于是统计了下周赛中各语言的用户数量。以上上周的第 326 场周赛为例,每题中各语言的占比如下:
T1: total = 2915
Counter({'cpp': 1327, 'java': 745, 'python3': 557, 'golang': 110, 'javascript': 70, 'c': 46, 'python': 22, 'csharp': 18, 'typescript': 7, 'rust': 6, 'kotlin': 4, 'php': 1, 'elixir': 1, 'swift': 1})
T2: total = 2478
Counter({'cpp': 1164, 'java': 595, 'python3': 489, 'golang': 94, 'javascript': 56, 'c': 25, 'python': 22, 'csharp': 16, 'rust': 6, 'typescript': 5, 'kotlin': 3, 'php': 1, 'elixir': 1, 'swift': 1})
T3: total = 2056
Counter({'cpp': 979, 'java': 459, 'python3': 435, 'golang': 79, 'javascript': 46, 'c': 17, 'csharp': 14, 'python': 13, 'typescript': 6, 'rust': 5, 'kotlin': 3})
T4: total = 1807
Counter({'cpp': 946, 'java': 395, 'python3': 321, 'golang': 60, 'javascript': 37, 'c': 13, 'csharp': 12, 'python': 10, 'rust': 6, 'kotlin': 4, 'typescript': 3})C++ 不出意外地(可能在一些扣友的眼中是意外地)夺得了使用率榜首,紧接着是你追我赶的 Java 和 Python,然后是(以灵神为首的) Go,最后甚至还有一位勇士选择了 PHP。
进一步分析,我们还可以发现一些有意思的事情。我把每题的 各语言用户数——比赛排名 画成了如下累积曲线和直方图:
第一题累积曲线:

第四题累积曲线:

第一题直方图:

第四题直方图:

可以观察到 C++ 和 py 选手更集中于前排,由于前排选手受到的关注较多,无形之中增加了这两种语言在大家心中的热门度。而 Java 则后劲很足,依靠广泛的群众基础,在后排实现了参赛人数对 py 的反超。Go 虽然人数相对较少,但凭借着参赛选手的高质量,在大家的心中占据着一席之地。
更新:把美服的数据也跑了一下。
T1: total = 10483
Counter({'cpp': 5312, 'java': 2413, 'python3': 2068, 'javascript': 178, 'python': 137, 'golang': 136, 'c': 79, 'csharp': 67, 'typescript': 23, 'kotlin': 18, 'rust': 17, 'swift': 16, 'ruby': 6, 'scala': 5, 'php': 4, 'dart': 3, 'elixir': 1})
T4: total = 5341
Counter({'cpp': 3084, 'java': 1022, 'python3': 930, 'javascript': 87, 'golang': 73, 'python': 46, 'csharp': 33, 'kotlin': 14, 'rust': 14, 'c': 14, 'typescript': 11, 'swift': 8, 'ruby': 2, 'scala': 2, 'dart': 1})美服第一题累积曲线:

美服第四题累积曲线:

C++ 的占比甚至比国服更高,超过了一半。Java 仍然后程发力,总人数比 Python 稍多一点。