小编Dav*_*ein的帖子

选择具有最大交叉区域的矩形

在这个问题中,r是一个固定的正整数.在平面中给出N个矩形,大小相同.侧面可以是垂直的也可以是水平的.我们假设所有N个矩形的交叉区域具有非零区域.问题是如何找到这些矩形的Nr,以便最大化交叉区域.当实际显微镜中的一个重复成像给定的生物样本时,这个问题出现,并且由于物理原因(例如显微镜和相机的部件的不同扩展),在该过程期间对准稍微改变.我已经表达了维度d = 2的问题.每个d> 0都存在类似的问题.对于d = 1,通过对间隔的左手端点进行排序来获得O(N log(N))解.但是我们坚持使用d = 2.如果r = 1,则可以通过对角的坐标进行排序来再次解决时间O(N log(N))的问题.

因此,通过首先解决案例(N,1)获得N-1个矩形,然后解决案例(N-1,1),获得N-2个矩形等来解决原始问题,直到我们减少到Nr矩形?我有兴趣看到这个乐观尝试过程的明确反例.如果程序有效会更有意思(请证明!),但这似乎过于乐观了.

如果r固定在某个值r> 1,并且N很大,那么NP类中的一个是这个问题吗?

感谢您对此的任何想法.

大卫

algorithm computational-geometry

8
推荐指数
1
解决办法
1426
查看次数

将浮点数元组的元组转换为整数

将 ((2.0,3.1),(7.0,4.2),(8.9,1.0),(-8.9,7)) 转换为 ((2,3),(7,4),(8,1),(-8) ,7))

它可以将元组转换为 numpy 数组,然后应用 .astype(int),但是有没有更直接的方法?另外我的“解决方案”似乎太特别了。

它可以使用 numpy

import numpy
data = ((2.0,3.1),(7.0,4.2),(8.9,1.0),(-8.9,7))
data1 = numpy.array(data)
data2 = data1.astype(int)
data3 = tuple(tuple(row) for row in data2)
data3 # ((2, 3), (7, 4), (8, 1), (-8, 7))
Run Code Online (Sandbox Code Playgroud)

((2, 3), (7, 4), (8, 1), (-8, 7)) 符合预期和期望

int python-3.x

5
推荐指数
1
解决办法
3046
查看次数

python 从函数名查看完整定义

我最近问了一个标题为“python find the type of a function”的问题,并得到了非常有用的答案。这是一个相关的问题。

假设我导入我编写的 *.py 文件,这些导入导致f成为我定义的函数之一。现在我写信给我的 python 解释器x = f。后来,我想看到 的完整定义f,最好还有注释,只知道x。这可能吗?python 是否记得定义是从哪个文件导入的,这当然不足以给出 的完整定义f,除非可以找到实际的相关定义?

python python-import python-3.x

4
推荐指数
1
解决办法
2787
查看次数

python 查找函数的类型

我有一个变量 f。我如何确定它的类型?这是我的代码,输入到 python 解释器中,显示使用我在 Google 上找到的许多示例的成功模式时出现错误。(提示:我对 Python 非常陌生。)

>>> i=2; type(i) is int
True
>>> def f():
...     pass
... 
>>> type(f)
<class 'function'>
>>> type(i)
<class 'int'>
>>> type(f) is function
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'function' is not defined
>>> f=3
>>> type(f) is int
True
Run Code Online (Sandbox Code Playgroud)

使用 fa 函数,我尝试将 type(f) 的返回值转换为字符串,其中 u = str(type(f))。但是当我尝试 u.print() 时,我收到一条错误消息。这对我提出了另一个问题。在 Unix 下,来自 Python 的错误消息会出现在 stderr 或 stdout 上吗?

python types class

2
推荐指数
1
解决办法
1996
查看次数