Python | Leetcode Python题解之第470题用Rand7()实现Rand10()

题目:

题解:

python 复制代码
class Solution:
    def rand10(self) -> int:
        while True:
            a = rand7()
            b = rand7()
            idx = (a - 1) * 7 + b
            if idx <= 40:
                return 1 + (idx - 1) % 10
            a = idx - 40
            b = rand7()
            # get uniform dist from 1 - 63
            idx = (a - 1) * 7 + b
            if idx <= 60:
                return 1 + (idx - 1) % 10
            a = idx - 60
            b = rand7()
            # get uniform dist from 1 - 21
            idx = (a - 1) * 7 + b
            if idx <= 20:
                return 1 + (idx - 1) % 10
相关推荐
闻哥23 分钟前
深入理解 Spring @Conditional 注解:原理与实战
java·jvm·后端·python·spring
小鸡吃米…35 分钟前
机器学习 - 堆叠集成(Stacking)
人工智能·python·机器学习
青春不朽51243 分钟前
Scikit-learn 入门指南
python·机器学习·scikit-learn
进击的小头1 小时前
FIR滤波器实战:音频信号降噪
c语言·python·算法·音视频
乔江seven1 小时前
【python轻量级Web框架 Flask 】2 构建稳健 API:集成 MySQL 参数化查询与 DBUtils 连接池
前端·python·mysql·flask·web
2301_810730101 小时前
python第四次作业
数据结构·python·算法
马剑威(威哥爱编程)1 小时前
Libvio.link爬虫技术解析:搞定反爬机制
爬虫·python
zhougl9961 小时前
Java 枚举类(enum)详解
java·开发语言·python
恋爱绝缘体12 小时前
Java语言提供了八种基本类型。六种数字类型【函数基数噶】
java·python·算法
serve the people2 小时前
python环境搭建 (三) FastAPI 与 Flask 对比
python·flask·fastapi