algorithm相关内容

根据 n 项、总面积和 H:W 比创建最佳网格

我正在创建一个应用程序,它采用多个大小相同的矩形并将它们放置在屏幕上的网格中.我已经完成了在单元格内调整矩形大小和居中矩形的大部分逻辑,但是我在定义矩形必须符合的网格的实际部分时遇到了问题. 理想情况下,最后我会有这样的函数(伪代码): 函数getGridDimensions(矩形表面,int numItems,float hwRatio){//确定网格高度和网格宽度返回网格维度;} 我 ..
发布时间:2022-01-18 09:57:30 其他开发

如何找到线与网格的交点?

我有轨迹数据,其中每个轨迹由一系列坐标(x,y 点)组成,每个轨迹都由唯一的 ID 标识. 这些轨迹在 x - y 平面上,我想将整个平面划分为大小相等的网格(方形网格).该网格显然是不可见的,但用于将轨迹划分为子段.每当轨迹与网格线相交时,它就会在此处分段,并成为具有 new_id 的新子轨迹. 我已经包含了一个简单的手工图表,以明确我的期望. 可以看出轨迹在网格线的交点处是如 ..
发布时间:2022-01-18 09:50:57 Python

如何在“A Fast Voxel Traversal Algorithm for Ray Tracing"中初始化 t 变量?

我正在尝试实现本文中解释的算法,用于沿直线遍历网格单元,这对于光线追踪很有用: http://www.cse.yorku.ca/~amana/research/grid.pdf 论文将算法描述为两部分:初始化和迭代遍历.我可以理解迭代遍历部分,但我无法理解初始化部分中的一些变量是如何计算的. 我需要帮助初始化 tMaxX、tMaxY、tDeltaX &tDeltaY.它们的初始化 ..
发布时间:2022-01-18 09:49:02 其他开发

在二维块网格中查找矩形

假设我有一个 7x12 的方块网格.我们使用颜色 '*'、'%'、'@' 和空单元格 '-'. 1 2 3 4 5 6 7- - - - - - - 1- - - - - - - 2% % - - - - - 3% % - - - - * 4% % - - - @ % 5@@@--@%6@@* * * - * 7* * * % % % % 8% @ @ % * * % 9% @ % % % % ..
发布时间:2022-01-18 09:43:43 其他开发

用于构建和查找整数范围集的数据结构

我有一组 uint32 整数,其中可能有数百万个项目.其中 50-70% 是连续的,但在输入流中它们以不可预知的顺序出现. 我需要: 将此集合压缩为范围以实现节省空间的表示.已经使用简单的算法实现了这一点,因为只计算一次的范围速度在这里并不重要.经过这种转换后,结果范围的数量通常在 5 000-10 000 之间,当然,其中许多是单项. 测试某个整数的成员资格,不需要有关集合中特 ..
发布时间:2022-01-17 18:49:24 其他开发

对集合列表进行减法

给定一个集合列表: allsets = [set([1, 2, 4]), set([4, 5, 6]), set([4, 5, 7])] 什么是计算与其他集合不重叠的元素集合的相应列表的pythonic方法? only = [set([1, 2]), set([6]), set([7])] 有没有办法通过列表理解来做到这一点? 解决方案 为避免二次运行时,您需要进行初始传递以确定哪 ..
发布时间:2022-01-17 18:48:47 Python

表示稀疏整数集?

什么是一种以紧凑和快速的方式表示稀疏整数集(实际上是 C 内存地址)的好方法.我已经知道诸如位向量和游程编码之类的显而易见的事情.但我想要比每个集合元素一个单词更紧凑的东西.我需要添加和删除元素并测试成员资格.我不需要其他集合操作,比如联合. 很多年前我读过一个这样的图书馆,但后来忘记了它的名字.我认为它是由 HP 作为开源发布的,并且有一个女性的名字. 解决方案 你指的是一个 ju ..
发布时间:2022-01-17 18:48:26 其他开发

在随机集中找到最接近的数字

假设我有一组 10 个介于 0 和 100 之间的随机数. 操作员还给了我一个 0 到 100 之间的随机数.然后我必须在集合中找到与接线员给我的数字最接近的数字. 示例 设置 = {1,10,34,39,69,89,94,96,98,100} 操作员编号 = 45 返回 = 39 以及如何将其转换为代码?(javascript 什么的) 解决方案 如果 ..
发布时间:2022-01-17 18:43:22 其他开发

计算两个无限正则表达式解决方案集是否不相交

在计算两个任意正则表达式是否有任何重叠的解决方案(假设有可能). 例如,这两个正则表达式可以通过蛮力证明没有交集,因为这两个解集是可计算的,因为它是有限的. ^1(11){0,1000}$ ∩ ^(11){0,1000}$ = {}{1,111, ..., ..111} ∩ {11,1111, ..., ...11} = {}{} = {} 但是将 {0,1000} 替换为 * 消除了暴 ..
发布时间:2022-01-17 18:41:20 其他开发

在二维数组中创建相似元素集

我正在尝试解决基于二维数组的问题.该数组包含不同种类的元素(共有 3 种可能的种类).让我们假设类型为 X、Y、Z. 数组看起来是这样的.请注意,它总是会被完全填满.该图用于说明. 7 |||||||6 |||||||5 |||||||4 ||X|Z|Y|X||3 ||Y|X|Y|Y|X|2 |Y|Y|X|Z|Z|X|1 |X|X|Y||X|X|0 ||||Z|||0 1 2 3 4 5 ..
发布时间:2022-01-17 18:39:44 其他开发

寻找高交集的最快算法

我有大量的用户 ID(整数),可能数百万.这些用户都属于不同的组(整数组),因此大约有 1000 万个组. 为了简化我的示例并了解其本质,我们假设所有组都包含 20 个用户 ID. 我想找到所有具有 15 或更大交集的整数集对. 我应该比较每一对集合吗?(如果我保留一个将用户 ID 映射到设置成员资格的数据结构,则没有必要这样做.)最快的方法是什么?也就是说,我的底层数据结构应该 ..
发布时间:2022-01-17 18:38:25 其他开发

将列表与交集合并

鉴于: g=[[], [], [0, 2], [1, 5], [0, 2, 3, 7], [4, 6], [1, 4, 5,6], [], [], [3, 7]] 如何比较 g 中的每个列表,以便共享任何公共编号的列表可以合并到一个集合中? 例如 0 存在于 g[2] 和 g[4]所以它们合并到一个集合 {0,2,3,7} 我尝试了以下方法,但它不起作用: for i in g ..
发布时间:2022-01-17 18:30:07 Python

顺序无关的哈希算法

我目前正在为我的自定义编程语言开发一个集合库.我已经有几种数据类型(Collection、List、Map、Set)和它们的实现(可变和不可变),但到目前为止我缺少的是 hashCode 和 equals.虽然这些对于 Lists 来说没有问题,因为它们是有序集合,但对于 Sets 和 Maps 起着特殊的作用.如果两个 Set 具有相同的大小和相同的元素,则认为它们相等,并且 Set 维护它们的 ..
发布时间:2022-01-17 18:29:34 Java开发

所有不相交对的集合

给定一组 {1,2,3,4,5...n} 的 n 个元素,我们需要找到所有不相交对的集合. 例如,如果 n=4,则输出为 {(1,2),(3,4)}, {(1,3),(2,4)}, {(1,4),(2,3)} 我什至不知道如何开始.我希望有人能给我一个关于使用哪种算法的建议,可能还有一些实现细节. 解决方案 编辑: 递归生成(n-1)的Delphi代码!!从 n=2*k 个元素 ..
发布时间:2022-01-17 18:22:06 其他开发

如何最快地计算 php 中设置的位数?

我只是想在php中找到一些最快的设置位计数功能. 例如,0010101 => 3、00011110 => 4 我看到有很好的算法可以用 c++ 实现.如何计算数量在 32 位整数中设置位? 有没有php内置函数或者最快的用户自定义函数? 解决方案 您可以尝试使用二进制 AND 应用掩码,并使用 shift 逐位测试,使用将迭代 32 次的循环. 函数 getBitCou ..
发布时间:2022-01-17 18:20:42 PHP

找到范围的最大相交子集

如果你有一组范围,比如下面这个简单的例子…… [[12, 25], #1[14, 27], #2[15, 22], #3[17, 21], #4[20, 65], #5[62, 70], #6[64, 80] #7] ...您如何计算 最大相交子集(不太清楚如何表达它,但我的意思是“相交并具有最高基数的范围的子集")并确定交叉度(该子集中范围的基数)? 从逻辑上讲,我可以解决它,并且可以 ..
发布时间:2022-01-17 18:20:33 其他开发

如何编写最大集打包算法?

假设我们有一个有限集合 S 和一个 S 的子集列表.然后,集合打包问题询问列表中的一些 k 子集是否成对不相交.该问题的优化版本,最大集打包,要求列表中成对不相交集的最大数量. http://en.wikipedia.org/wiki/Set_packing 所以,让 S = {1,2,3,4,5,6,7,8,9,10} 和`Sa = {1,2,3,4}`和`Sb = {4,5,6} ..
发布时间:2022-01-17 18:18:42 其他开发

给定一个目标总和和一组整数,找到与该目标相加的最接近的数字子集

我有一组整数 M 和一个目标总和 k.我想找到 M 的子集,当它加在一起时最接近 k 而不会超过. 例如: M = {1, 3, 5, 5, 14}k = 12答案 = {1, 5, 5}因为 1 + 5 + 5 = 11 而没有办法使 12. 我有一个额外的约束,即子集最多可以包含 4 个元素. 在我的应用程序中,|M| 的大小可以很大(大约有数千个元素).如果无法在合理的时间内 ..