当前位置: 首页 > article >正文

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

题目:

题解:

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

http://www.kler.cn/news/342350.html

相关文章:

  • Android WebView 与 H5 交互的一些总结
  • 快速解决urllib3.exceptions.MaxRetryError: HTTPSConnectionPool
  • 【部署篇】Redis-01介绍‌
  • 如何应对动态图片大小变化?Python解决网页图片截图难题
  • Spring Boot项目使用多线程执行定时任务
  • Excel多级结构转成树结构形式
  • 基于vue的酒店预订管理系统(源码+定制+开发)
  • 苹果秋季盛典:iPhone 16系列引领未来科技潮流
  • 数据库——表格之间的关系(表格之间的连接和处理)
  • 数据仓库!企业决策的智慧引擎
  • hadoop入门
  • 陪护小程序|护理陪护系统|陪护小程序成品
  • Spring Boot洗衣店订单系统:提升运营效率
  • 基于IMX6UL的EPIT的定时器实验
  • byte[]/InputStream/MultipartFile之间进行转换
  • Redis 高可用方案
  • 《Electron 基础知识》设置 Vue 中引用的文件路径别名
  • 便民医疗服务小程序后端springboot 服务 vue3 开发的后端 系统设计与实现
  • springmvc直接访问 上下文路径 302 后路径更改并跳转源码解析
  • 【系统架构设计师】案例专题三:数据库系统考点梳理