力扣竞赛勋章 | 排名分数计算脚本
文章目录
- 力扣竞赛勋章介绍
- 竞赛评分算法
- 脚本(本文的重点内容)
- 运行结果
代码修改自:https://leetcode.cn/circle/discuss/6gnvEj/
原帖子的代码无法正常运行。
力扣竞赛勋章介绍
https://leetcode.cn/circle/discuss/0fKGDu/

如果你想知道自己上多少分可以拿到对应的勋章,那么篇文章会解决你的问题!
竞赛评分算法
https://leetcode.cn/circle/article/neTUV4/
脚本(本文的重点内容)
#!/usr/bin/env python3import json
import sysimport requests# 力扣目前勋章的配置
RATING = 1600 # 从1600分以上才开始算人
GUARDIAN = 0.05
KNIGHT = 0.25
# 查询的地址为全国还是全球?很关键
GLOBAL = False
# 二分查找的右端点(可自调)
RIGHT = 3000def fetch_lastest_ranking(mode):l, r = 1, RIGHTretry_cnt = 0ansRanking = Nonewhile l < r:cur_page = (l + r + 1) // 2try:payload = RankingCrawler._REQUEST_PAYLOAD_TEMPLATE.copy()payload['query'] = payload['query'].replace('page: 1', 'page: {}'.format(cur_page))resp = requests.post(RankingCrawler.URL,headers={'Content-type': 'application/json'},json=payload).json()resp = resp['data']['localRanking'] if not GLOBAL else resp['data']['globalRanking']# no more dataif len(resp['rankingNodes']) == 0:breakif not mode:top = int(resp['rankingNodes'][0]['currentRating'].split('.')[0])if top < RATING:r = cur_page - 1else:l = cur_pageansRanking = resp['rankingNodes']else:top = int(resp['rankingNodes'][0]['currentGlobalRanking'])if top > mode:r = cur_page - 1else:l = cur_pageansRanking = resp['rankingNodes']print('The first contest current rating in page {} is {} .'.format(cur_page, resp['rankingNodes'][0]['currentRating']))retry_cnt = 0except:print(f'Failed to retrieved data of page {cur_page}...retry...{retry_cnt}')retry_cnt += 1ansRanking = ansRanking[::-1]last = Noneif not mode:while ansRanking and int(ansRanking[-1]['currentRating'].split('.')[0]) >= 1600:last = ansRanking.pop()else:while ansRanking and int(ansRanking[-1]['currentGlobalRanking']) <= mode:last = ansRanking.pop()return lastclass RankingCrawler:URL = 'https://leetcode.com/graphql' if GLOBAL else 'https://leetcode-cn.com/graphql'_REQUEST_PAYLOAD_TEMPLATE = {"operationName": None,"variables": {},"query":r'''{localRanking(page: 1) {totalUsersuserPerPagerankingNodes {currentRatingcurrentGlobalRanking}}}''' if not GLOBAL elser'''{globalRanking(page: 1) {totalUsersuserPerPagerankingNodes {currentRatingcurrentGlobalRanking}}}'''}if __name__ == "__main__":crawler = RankingCrawler()ans = fetch_lastest_ranking(0)n = int(ans['currentGlobalRanking'])guardian = fetch_lastest_ranking(int(GUARDIAN * n))knight = fetch_lastest_ranking(int(KNIGHT * n))if not GLOBAL:guardian['currentCNRanking'] = guardian['currentGlobalRanking']guardian.pop('currentGlobalRanking')knight['currentCNRanking'] = knight['currentGlobalRanking']knight.pop('currentGlobalRanking')print("Done!")print()print("目前全{}1600分以上的有{}人".format("球" if GLOBAL else "国", n))print("根据这个人数,我们得到的Guardian排名及分数信息为:{}".format(guardian))print("根据这个人数,我们得到的Knight排名及分数信息为:{}".format(knight))sys.exit()
运行结果
运行结果大致如下:
C:\Users\fengwei\anaconda3\python.exe D:/study_folder/研究生课程/深度学习/my_work/论文分享/leetcode.py
The first contest current rating in page 1501 is 1557 .
The first contest current rating in page 751 is 1676 .
The first contest current rating in page 1126 is 1603 .
The first contest current rating in page 1313 is 1578 .
Failed to retrieved data of page 1219...retry...0
The first contest current rating in page 1219 is 1589 .
The first contest current rating in page 1172 is 1596 .
The first contest current rating in page 1149 is 1599 .
The first contest current rating in page 1137 is 1601 .
The first contest current rating in page 1143 is 1600 .
The first contest current rating in page 1146 is 1599 .
The first contest current rating in page 1144 is 1600 .
The first contest current rating in page 1145 is 1600 .
The first contest current rating in page 1501 is 1557 .
The first contest current rating in page 751 is 1676 .
The first contest current rating in page 376 is 1821 .
The first contest current rating in page 188 is 1978 .
The first contest current rating in page 94 is 2143 .
The first contest current rating in page 47 is 2308 .
The first contest current rating in page 70 is 2216 .
The first contest current rating in page 58 is 2260 .
The first contest current rating in page 64 is 2238 .
The first contest current rating in page 61 is 2249 .
The first contest current rating in page 59 is 2257 .
The first contest current rating in page 1501 is 1557 .
The first contest current rating in page 751 is 1676 .
The first contest current rating in page 376 is 1821 .
The first contest current rating in page 188 is 1978 .
The first contest current rating in page 282 is 1887 .
The first contest current rating in page 329 is 1851 .
The first contest current rating in page 305 is 1870 .
The first contest current rating in page 293 is 1878 .
The first contest current rating in page 287 is 1883 .
The first contest current rating in page 290 is 1881 .
The first contest current rating in page 288 is 1882 .
Done!目前全国1600分以上的有28612人
根据这个人数,我们得到的Guardian排名及分数信息为:{'currentRating': '2260', 'currentCNRanking': 1430}
根据这个人数,我们得到的Knight排名及分数信息为:{'currentRating': '1883', 'currentCNRanking': 7153}Process finished with exit code 0
可以看出 1883 以上可以得到 Knight
2260 以上可以得到 Guardian
相关文章:
力扣竞赛勋章 | 排名分数计算脚本
文章目录 力扣竞赛勋章介绍竞赛评分算法脚本(本文的重点内容)运行结果 代码修改自:https://leetcode.cn/circle/discuss/6gnvEj/ 原帖子的代码无法正常运行。 力扣竞赛勋章介绍 https://leetcode.cn/circle/discuss/0fKGDu/ 如果你想知道自…...
win10 远程 ubuntu 18.04 桌面
win10 远程 ubuntu 18.04 桌面 我们要在Windows 10上远程连接到Ubuntu 18.04,您需要按照以下步骤进行设置: 1. 在Ubuntu 18.04上安装并启用远程桌面服务。打开终端,并运行以下命令来安装xrdp: sudo apt update sudo apt instal…...
c++ -- STL
【C/C】STL详解_cstl_沉晓的博客-CSDN博客 Learning Record have done assignment class template An excellent programmer only needs to know how to use containers to improve program encapsulation and reduce coupling, without understanding the underlying pri…...
文字识别(OCR)介绍与开源方案对比
目录 文字识别(OCR)介绍与开源方案对比 一、OCR是什么 二、OCR基本原理说明 三、OCR基本实现流程 四、OCR开源项目调研 1、tesseract 2、PaddleOC 3、EasyOCR 4、chineseocr 5、chineseocr_lite 6、cnocr 7、商业付费OCR 1)腾讯…...
Modbus tcp转ETHERCAT在Modbus软件中的配置方法
Modbus tcp和ETHERCAT是两种不同的协议,这给工业生产带来了很大的麻烦,因为这两种设备之间无法通讯。但是,远创智控YC-ECT-TCP网关的出现,却为这个难题提供了解决方案。 YC-ECT-TCP网关能够连接到Modbus tcp总线和ETHERCAT总线中…...
开源点云数据集整理汇总
目录 一、ModelNet401. 网址2. 模型 二、ShapeNet1. 网址2. 模型 三、S3DIS Dataset1. 网址2. 模型 四、ScanNet1. 网址2. 模型 五、RGB-D Object Dataset1. 网址2. 模型 六、 NYU Depth Dataset V2 (纽约大学深度数据集)1. 网址2. 模型 七、 The Stanfo…...
【全栈开发指南】VUE前端路由设计及配置
我们在使用Vue.js时,创建单页面应用一定会用到路由,Vue Router 是 Vue.js 官方的路由管理器,我们在开发框架中过程中,需要结合Vue Router路由管理器提供的功能,设计和实现系统中菜单的配置。 一、实现原理 一级菜单r…...
C语言程序环境和预处理
本章主要以图片和文字的形式给大家讲解 程序的翻译环境和程序的执行环境 在ANSI C的任何一种实现中,存在两个不同的环境。 第1种是翻译环境,在这个环境中源代码被转换为可执行的机器指令。 第2种是执行环境,它用于实际执行代码 2. 详解编译…...
为摸鱼助力:一份Vue3的生成式ElementPlus表单组件
目录 一、实现背景 二、简介 三、组织架构设计 四、实现方式 五、代码示例 六、示例代码效果预览 七、项目预览地址 & 项目源码地址 目前项目还有诸多待完善的地方,大家有好的想法、建议、意见等欢迎再次评论,或于github提交Issues 一、实现…...
数通工作中常见问题与解决方法
城域网,硬件,交换机开局 1、环路产生,现象,怎么解决 一般是物理拓扑存在环路,导致数据互传,Mac地址漂移,产生环路; Cpu利用率变高,端口流量接近100%,有mac…...
基于STM32+华为云IOT设计的智能浇花系统
一、前言 随着社会的不断发展和人们生活水平的逐渐提高,人们逐渐追求高质量的生活,很多人都会选择在家里或办公室种植一些花卉以净化家庭空气,陶冶情操,但是很多人忙于工作、学习、出差、旅游或者一些其他的原因,不能及时地对花卉进行照料,短时间内导致很多花卉因缺水分…...
回调函数(callback)是什么?
通俗易懂 你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话,过了几天店里有货了,店员就打了你的电话,然后你接到电话后就到店里去取了货。 在这个例子里,你的电话号码就叫回调函…...
零代码量化投资:用ChatGPT获取新浪财经上的股票实时行情
现在很多免费的股票数据库,比如akshare,其实是从新浪财经或者东方财富网站上爬取下来的。如果能直接从新浪财经或者东方财富网站上爬取数据,可以获取更全面更即时的信息。 可以在ChatGPT中输入提示词如下: 写一段Python代码&…...
从GitLab拉取并运行项目
从GitLab拉取并运行项目 序Git项目运行运行报错 总结教训 序 搭建好前端基础环境后,开始尝试从单位项目组拉取项目尝试本地运行。 Git Git相关配置:一篇学会Git版本管理 先申请Git账号,随后由上级分配权限拉入该项目组。 通过git clone ……...
AI绘画结合GPT 把Ai绘画与摄影玩明白
一、绘画与摄影有什么关系? 绘画和摄影是两种不同的艺术形式,它们都以其自身独特的方式捕捉和表达现实。在某些方面,它们是相互联系的,而在其他方面,它们又有所不同。 相似之处:绘画和摄影都是创造性的…...
哈工大计算机网络课程数据链路层协议详解之:多路访问控制(MAC)协议
哈工大计算机网络课程数据链路层协议详解之:多路访问控制(MAC)协议 在上一小节介绍完数据链路层功能和所提供的服务后,接下来我们介绍一个在数据链路层非常重要的一个协议:多路访问控制MAC协议。 多路访问控制主要是…...
docker基本概念和相关命令
!!! 前面都是概念东西,可以直接跳到Docker命令就可以了(直接搜吧“Docker命令”,页内无法跳转,还在研究中……) 容器和虚拟化 容器包含应用和其所有的依赖包,但是与其他容器共享内核。容器在宿主机操作系统中,在用户…...
43. 间断连续登录用户问题
文章目录 题目需求思路一实现一题目来源 题目需求 现有各用户的登录记录表(login_events)如下,表中每行数据为:一个用户何时登录了平台。 现要求统计各用户最长的连续登录天数,间断一天也算作连续,例如&a…...
Visual Studio Code 编辑器实用插件简介
Visual Studio Code 编辑器插件 以下是一些常用的 Visual Studio Code 编辑器插件及其简短描述: 2gua.rainbow-brackets:在括号周围添加彩虹色的边框,以帮助区分不同层次的括号。adpyke.codesnap:将代码片段转换为漂亮的图片&am…...
微信小程序之Image那些事
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、使用场景二、使用方式1.动态读取image大小2.动态设置style3.动态赋值 总结 前言 小程序中 Image使用频率是非常高的 不同场景下 Image使用的属性也不一样 …...
中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试
作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...
Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件
今天呢,博主的学习进度也是步入了Java Mybatis 框架,目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正确的建议&…...
DAY 47
三、通道注意力 3.1 通道注意力的定义 # 新增:通道注意力模块(SE模块) class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...
Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...
Map相关知识
数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…...
dify打造数据可视化图表
一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...
html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码
目录 一、👨🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨…...
Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
【网络安全】开源系统getshell漏洞挖掘
审计过程: 在入口文件admin/index.php中: 用户可以通过m,c,a等参数控制加载的文件和方法,在app/system/entrance.php中存在重点代码: 当M_TYPE system并且M_MODULE include时,会设置常量PATH_OWN_FILE为PATH_APP.M_T…...
