欢迎来真孝善网,为您提供真孝善正能量书籍故事!

Python版LeetCode题目解析:如何在圆内随机生成点(Generate Random Point in a Circle)

时间:11-12 名人轶事 提交错误

各位老铁们,大家好,今天由我来为大家分享Python版LeetCode题目解析:如何在圆内随机生成点(Generate Random Point in a Circle),以及的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

该题我们可以获得的信息是:圆心坐标(x,y),半径。因此,我们可以得到任意点的坐标范围:

x : [x-r, x+r]

y : [y-r, y+r] 用图形表示,我们可以得到一个正方形的范围,如下图所示:

正方形范围因此通过random.uniform 我们可以在正方形内(包括边上)生成随机点。但题目要求生成一个圆内的随机点,所以生成随机点后,可以根据该点到圆心的距离来判断该随机点是否在圆内。如果不在圈内,则丢弃结果并重新生成。

参考代码如下:

随机导入

类解决方案:

def __init__(self, radius: "浮动", x_center: "浮动", y_center: "浮动"):

self.radius=半径

self.x_center=x_center

self.y_center=y_center

self.x_max=x_center + 半径

self.y_max=y_center + 半径

self.x_min=x_center - 半径

self.y_min=y_center - 半径

def randPoint(self) -"List[float]":

而True:

res_x=random.uniform(self.x_min, self.x_max)

res_y=random.uniform(self.y_min, self.y_max)

dis=(res_x - self.x_center)**2 + (res_y - self.y_center)**2

如果dis=self.radius**2:

返回[res_x, res_y]源代码地址:

https://github.com/jediL/LeetCodeByPython

Python版LeetCode题目解析:如何在圆内随机生成点(Generate Random Point in a Circle)和的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!

用户评论

疯人疯语疯人愿

LeetCode 的题真不错,感觉这题很有锻炼代码设计的意义。

    有11位网友表示赞同!

龙吟凤

最近也在准备 LeetCode 面试,这种题目算是基础题吧?

    有8位网友表示赞同!

裸睡の鱼

Python 写起来还是挺方便的,这个随机生成点的思路也很巧妙。

    有10位网友表示赞同!

浮世繁华

有没有什么比较高效的算法生成随机点呢?我之前写的代码好像有点慢

    有18位网友表示赞同!

←极§速

圆内随机点的生成问题还挺有意思的,感觉可以应用到一些图形学的场景中。

    有8位网友表示赞同!

念旧情i

这个题目讲解详细吗?想学习一下Python的解题思路

    有13位网友表示赞同!

一个人的荒凉

这题在面试中经常出现吗?我应该重点练习哪些类型的问题呢?

    有19位网友表示赞同!

笑傲苍穹

看了这个标题,突然想到之前学过随机数生成器的相关知识

    有5位网友表示赞同!

请在乎我1秒

感觉像是一个概率问题吧,需要运用一些几何学的原理才能解决?

    有15位网友表示赞同!

限量版女汉子

LeetCode 的题目涵盖面真是很广啊!从数据结构到算法,几乎什么都有。

    有13位网友表示赞同!

毒舌妖后

想要提高编程能力的话,LeetCode 确实是个很好的平台

    有9位网友表示赞同!

余温散尽ぺ

圆的半径怎么设定呢?这题需要考虑各种直径情况吗?

    有14位网友表示赞同!

一点一点把你清空

有没有什么图示可以帮助理解这个问题?我感觉有点抽象

    有13位网友表示赞同!

泪湿青衫

不知道Python有哪些内置函数可以用来生成随机点

    有18位网友表示赞同!

何年何念

这题应该可以用循环来实现吧?或者有什么更巧妙的解法呢?

    有7位网友表示赞同!

淡抹丶悲伤

我觉得这个题目挺好的,可以锻炼一下我们的数学思维和算法能力

    有18位网友表示赞同!

♂你那刺眼的温柔

分享一下你的代码,让我看看你如何解决这个问题

    有11位网友表示赞同!

一样剩余

学习 LeetCode 的思路也能应用到实际编程中吗?很有帮助?

    有15位网友表示赞同!

◆残留德花瓣

希望我能通过LeetCode 突破自己目前的代码瓶颈

    有12位网友表示赞同!

青山暮雪

这题的解题难度属于中等难度吧?不太容易一下子想明白.

    有12位网友表示赞同!

【Python版LeetCode题目解析:如何在圆内随机生成点(Generate Random Point in a Circle)】相关文章:

1.蛤蟆讨媳妇【哈尼族民间故事】

2.米颠拜石

3.王羲之临池学书

4.清代敢于创新的“浓墨宰相”——刘墉

5.“巧取豪夺”的由来--米芾逸事

6.荒唐洁癖 惜砚如身(米芾逸事)

7.拜石为兄--米芾逸事

8.郑板桥轶事十则

9.王献之被公主抢亲后的悲惨人生

10.史上真实张三丰:在棺材中竟神奇复活