Golang | Leetcode Golang题解之第497题非重叠矩形中的随机点

embedded/2024/10/23 14:23:24/

题目:

题解

type Solution struct {rects [][]intsum   []int
}func Constructor(rects [][]int) Solution {sum := make([]int, len(rects)+1)for i, r := range rects {a, b, x, y := r[0], r[1], r[2], r[3]sum[i+1] = sum[i] + (x-a+1)*(y-b+1)}return Solution{rects, sum}
}func (s *Solution) Pick() []int {k := rand.Intn(s.sum[len(s.sum)-1])rectIndex := sort.SearchInts(s.sum, k+1) - 1r := s.rects[rectIndex]a, b, y := r[0], r[1], r[3]da := (k - s.sum[rectIndex]) / (y - b + 1)db := (k - s.sum[rectIndex]) % (y - b + 1)return []int{a + da, b + db}
}

http://www.ppmy.cn/embedded/129832.html

相关文章

Zookeeper面试整理-Zookeeper的基础概念

Zookeeper的基础概念是理解其作为分布式协调服务的核心要素。以下是一些关键的基础概念: 1. Zookeeper是什么? Zookeeper 是一个开源的分布式协调服务,用于分布式应用中的配置管理、命名服务、分布式锁、集群管理等任务。它提供了一组简单的原语,帮助开发人员构建健壮的分布…

动态规划20:918. 环形子数组的最大和

动态规划解题步骤: 1.确定状态表示:dp[i]是什么 2.确定状态转移方程:dp[i]等于什么 3.初始化:确保状态转移方程不越界 4.确定填表顺序:根据状态转移方程即可确定填表顺序 5.确定返回值 题目链接:918.…

创建型模式-----(单例模式)

目录 基本概念 饿汉式: 懒汉式: 上锁双判空版本 std::call_once版本: C11标准后局部静态变量版本: 项目中单例模板的应用 基本概念 单例模式:在程序运行期间只有一份,与程序生存周期一样,…

告别微信封号!学会这5招,让你的账号坚不可摧

在这个信息爆炸的时代,无论是工作沟通、社交互动还是获取信息,微信都扮演着极其重要的角色。但是,随着微信平台规则的日益严格,账号被封的风险也随之增加。今天,我们就来聊聊如何有效防止 微信被封,让你的账…

Flutter中使用Cookies

Cookie Cookie 是一种在用户的浏览器中存储的小型文本文件,用于保存有关用户和他们的访问信息。它们通常用于以下目的: 主要功能 会话管理:保持用户登录状态,例如识别已登录的用户。个性化设置:保存用户的偏好设置&a…

开发常见错误状态码

一些常见的 HTTP 状态码及其描述,这些状态码在后端开发中经常遇到。这些状态码分为几类:信息性状态码、成功状态码、重定向状态码、客户端错误状态码和服务器错误状态码。 信息性状态码 (1xx) 100 Continue:客户端应继续其请求。101 Switch…

《软件报价全攻略:深入剖析与精准决策》

《软件报价全攻略:深入剖析与精准决策》 一、软件报价基础认知二、软件开发价格估算方法(一)公式构成与解析(二)工作量计算要素(三)开发费用构成 三、不同软件报价案例分析(一&#…

YoloV9改进策略:主干网络改进|DeBiFormer,可变形双级路由注意力|全网首发

摘要 在目标检测领域,YoloV9以其高效和准确的性能而闻名。然而,为了进一步提升其检测能力,我们引入了DeBiFormer作为YoloV9的主干网络。这个主干网络的计算量比较大,不过,上篇双级路由注意力的论文受到很大的关注,所以我也将这篇论文中的主干网络用来改进YoloV9,卡多的…