首页/新闻资讯/正文详情

DeepSeek LeetCode 478. 在圆内随机生成点 Java实现

发布时间:2026/11/3 20:07:26 来源:云帆数科 栏目:资讯中心
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 的数学原因这是这题最大的加分点。

相关推荐

从MAA智能预警到向量融合:金仓数据库AI能力深度解读
从MAA智能预警到向量融合:金仓数据库AI能力深度解读

十五年数据库相关经验,做过 DBA、架构师、技术顾问。不求"颠覆",只求"靠谱"。做了十几年数据库架构和 DBA,过去我们的日常基本就是"救火":分析慢 SQL、调优高可用集群、排查锁等待、评估异构迁移风… · 2026/11/2 15:21:56

安全深拆:越狱、Sleeper与可解释性
安全深拆:越狱、Sleeper与可解释性

第 21 篇对齐深拆谈的是"教模型想要什么",本篇谈它的攻防对面:能力放大的同时,攻击面如何变化,防线靠什么成立。安全深拆的立场是工程而非立场声明:威胁建模、失败案例、防线成本。 一、越狱经济学与攻击面的… · 2026/11/2 15:21:56

后端第十六课:Multi-Agent 多智能体(让多个 Agent 分工协作)
后端第十六课:Multi-Agent 多智能体(让多个 Agent 分工协作)

后端第十六课:Multi-Agent 多智能体(让多个 Agent 分工协作)👋 我是 Yulia,一线 AI 应用开发工程师:4 年工程经验,在职做大模型应用落地。 只写一件事——把最新 AI 技术讲成人话 给你能直接上… · 2026/11/2 15:20:55

AI数字人口播视频生成工具:模块化智能体设计与实操指南
AI数字人口播视频生成工具:模块化智能体设计与实操指南

1. 项目概述:这不是“换脸”或“配音”,而是一套可配置、可迭代的数字人内容生产流水线“AI数字人口播视频生成工具:罗根智能体全解析”——这个标题里,“罗根智能体”不是某个具体产品名,而是我给一类高完成度、强可控… · 2026/11/3 20:06:40

Windows平台部署OpenClaw消息聚合工具全指南
Windows平台部署OpenClaw消息聚合工具全指南

1. 项目背景与核心价值OpenClaw作为一款新兴的多平台消息聚合工具,正在技术社区引发广泛关注。它最吸引人的特性在于能够将不同IM平台(如微信、Telegram)的消息统一接入AI助手(如DeepSeek),实现智能化的消息… · 2026/11/3 20:06:40

中空板机械核心技术与设备选型指南
中空板机械核心技术与设备选型指南

1. 中空板机械行业概述中空板机械作为塑料加工设备的重要分支,近年来在包装、建筑、广告等行业应用日益广泛。这类设备主要用于生产PP中空板、PE中空板等塑料板材,其核心工艺是通过挤出成型技术制造具有中空结构的轻质板材。作为从业十余年的设备工程师&… · 2026/11/3 20:06:40

Word嵌入型图片消失的真相与根治方案
Word嵌入型图片消失的真相与根治方案

1. 问题本质:不是“图片藏起来了”,而是Word的图文层叠逻辑被误读了你点开Word文档,插入一张图片,设置成“嵌入型”,结果发现——文字明明在图片上方打字,可打印出来或切换到页面视图时,图片却像… · 2026/11/3 20:06:40

WordPress子比主题VIP会员权益页面开发实战
WordPress子比主题VIP会员权益页面开发实战

1. 项目背景与需求分析 在WordPress生态中,子比主题(Zibll)作为一款专注于内容付费与会员体系的高效解决方案,其VIP会员权益页面的设计与实现直接关系到付费转化率与用户体验。根据2023年WordPress官方插件目录统计,集… · 2026/11/3 20:06:40

PHP引用计数与垃圾回收机制在并发环境下的优化策略
PHP引用计数与垃圾回收机制在并发环境下的优化策略

1. PHP引用计数与垃圾回收机制基础在PHP的内存管理体系中,引用计数(refcount)和垃圾回收(GC)是两个最核心的机制。理解它们的协同工作原理,是解决并发环境下内存管理问题的关键。每个PHP变量在底层都被存储… · 2026/11/3 20:05:39

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 6:04:24

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 5:52:46

STM32F411RE与MAX14431实现SPI隔离:工业现场抗共模干扰实战
STM32F411RE与MAX14431实现SPI隔离:工业现场抗共模干扰实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59

ESP32+大模型AI硬件开发:从Demo到产品的8个工程问题
ESP32+大模型AI硬件开发:从Demo到产品的8个工程问题

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59

基于MAX14431BAEE+与PIC18F85J10的SPI隔离方案设计与实践
基于MAX14431BAEE+与PIC18F85J10的SPI隔离方案设计与实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 6:04:24

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 5:52:46

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码