尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
DeepSeek    LeetCode 478. 在圆内随机生成点 Java实现
LeetCode 478. 在圆内随机生成点核心思路关键点在于「均匀」二字。很多人第一反应是// ❌ 错误做法doublerradius*Math.random();doubletheta2*Math.PI*Math.random();这样会导致点集中在圆心附近。原因是面积元是 dA r·dr·dθ半径越大对应的面积越大所以半径应按 √U 分布而不是线性。证明距圆心 R 内的面积占总体比例 F® πR² / πr² (R/r)²由反函数采样 R r·√U。实现一极坐标 开根号推荐O(1)classSolution{privatedoubleradius,xCenter,yCenter;privateRandomrandomnewRandom();publicSolution(doubleradius,doublex_center,doubley_center){this.radiusradius;this.xCenterx_center;this.yCentery_center;}publicdouble[]randPoint(){// 半径按 sqrt 采样保证面积均匀doublerradius*Math.sqrt(random.nextDouble());doubletheta2*Math.PI*random.nextDouble();returnnewdouble[]{xCenterr*Math.cos(theta),yCenterr*Math.sin(theta)};}}实现二拒绝采样同样正确期望 O(1)在外接正方形内取点不在圆内就重试。命中率 π/4 ≈ 78.5%期望约 1.27 次即可。classSolution{privatedoubleradius,xCenter,yCenter;privateRandomrandomnewRandom();publicSolution(doubleradius,doublex_center,doubley_center){this.radiusradius;this.xCenterx_center;this.yCentery_center;}publicdouble[]randPoint(){while(true){doubledx(2*random.nextDouble()-1)*radius;doubledy(2*random.nextDouble()-1)*radius;if(dx*dxdy*dyradius*radius){returnnewdouble[]{xCenterdx,yCenterdy};}}}}复杂度对比方法 时间 空间 备注极坐标 sqrt O(1) 确定 O(1) 无循环最稳拒绝采样 O(1) 期望 O(1) 实现直观最坏情况无上界常见坑不要漏掉 Math.sqrt —— 否则点会向圆心聚集。角度范围用 2π弧度不要用 360。Random.nextDouble() 返回 [0,1)注意乘的系数。精确比较 radius * radius避免开方带来的浮点误差。面试中建议答极坐标法并说明 sqrt 的数学原因这是这题最大的加分点。
RELATED

相关推荐

抖音 TikTok 作品批量下载与账号数据归档:DouK-Downloader 交付物清单

抖音 TikTok 作品批量下载与账号数据归档:DouK-Downloader 交付物清单

抖音 TikTok 作品批量下载与账号数据归档:DouK-Downloader 交付物清单 【免费下载链接】TikTokDownloader 抖音 / TikTok 平台作品下载/数据采集工具 项目地址: https://gitcode.com/GitHub_Trending/ti/TikTokDownloader DouK-Downloader(曾用名…

📅 2026/11/2 15:11:04
CyberStrikeAI 实战指南:15分钟把AI渗透测试从“人肉搬命令“变成“一句话搞定“

CyberStrikeAI 实战指南:15分钟把AI渗透测试从“人肉搬命令“变成“一句话搞定“

CyberStrikeAI 实战指南:15分钟把AI渗透测试从"人肉搬命令"变成"一句话搞定" 【免费下载链接】CyberStrikeAI The system of action for AI-native cybersecurity—where intent becomes governed execution, evidence becomes operational mem…

📅 2026/11/2 15:11:04
BrowseryTools开发者指南:三步把新工具加入152个工具矩阵的完整流程

BrowseryTools开发者指南:三步把新工具加入152个工具矩阵的完整流程

【免费下载链接】browserytools 152 free browser-based tools in 17 languages. Your files and text are processed in your browser — no uploads, no accounts, no ads. Image & on-device AI tools, PDF, converters, formatters, calculators, generators. Some AI …

📅 2026/11/2 15:11:04
MORE NEWS

更多资讯

📰

AI大模型在能耗管理中的应用实践:从异常归因到节能建议的落地路径

能耗管理这件事,过去十几年一直是“装表、抄数、做报表”的老三样,真正能把节能措施落到实处的项目并不多。这两年大模型能力外溢到工业与建筑场景,情况开始起变化:同样是那批电表、水表、冷热量表的数据,过去只能做事…

📰

Word转PDF公式符号消失的6种解决方案

1. Word转PDF公式符号消失问题解析 最近在整理学术论文时,我发现一个令人头疼的问题:当我把精心排版的Word文档转换为PDF后,原本完美的数学公式中某些关键符号竟然神秘消失了!特别是那些复杂的积分符号、希腊字母和特殊运算符。这…

📰

IRC5 M2004控制器电路图识读与运行链排错指南

简介:面向机器人电气设计、调试与维护人员,ABB机器人IRC5 M2004控制器电路图提供控制系统硬件设计与接口参考,可用于理解架构、排查故障及开展培训。包内为1个PDF文件,约6.67MB,内容围绕IRC5 M2004控制系统的设计资料展…

📰

小白鼠群体排队行为的神经机制与算法应用

1. 项目概述:小白鼠排队现象解析实验室里的小白鼠排队行为看似简单,实则蕴含着复杂的群体动力学机制。这个被称为"PKUKY109"的实验项目,最初源于研究者对啮齿类动物社会性行为的观察兴趣。当我在实验室第一次注意到十几只小白鼠自发…

📰

高并发场景下外卖试吃API熔断与降级实战

1. 外卖试吃API对接的典型挑战外卖平台试吃活动API对接是典型的互联网高并发场景,每次大促期间接口调用量可能激增数十倍。去年双十一期间,我们团队对接某头部外卖平台的试吃活动API时,峰值QPS达到1200,接口超时率一度突破15%。这…

📰

Wincoot NCS tools实战:连接状态诊断、僵尸清理与配置迁移技巧

1. 从"这玩意儿到底干嘛的"说起:NCS tools 的定位与适用边界第一次在 Wincoot 的菜单栏里翻到 NCS tools 这个入口时,我的反应大概是很多人的共同反应——名字太抽象了,NCS 三个字母既不像某个功能的缩写,也不像某个常见…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬