标签: intersection

在python中查找两个字符串中单词的交集

我有两个包含单词的字符串: 'dan esh gah''da nesh gah'

我需要交叉词,就是'gah'在这种情况下。

我用了这个代码

vocab=['dan esh gah']
gold=['da nesh gah']
s1 = ''.join(vocab)
s2=''.join(gold)

a=[]
track=[]
for k in range(len(s1)+1):
    if k!=0:
        for ka in range(0,len(s1)+1,k):
            if s1[ka:ka+k] in s2:
                track.append((len(s1[ka:ka+k])+1,s1[ka:ka+k]))
intersect=max(track)[1]
print(intersect)
Run Code Online (Sandbox Code Playgroud)

但答案是错误的:

vocab=['dan esh gah']
gold=['da nesh gah']
s1 = ''.join(vocab)
s2=''.join(gold)

a=[]
track=[]
for k in range(len(s1)+1):
    if k!=0:
        for ka in range(0,len(s1)+1,k):
            if s1[ka:ka+k] in s2:
                track.append((len(s1[ka:ka+k])+1,s1[ka:ka+k]))
intersect=max(track)[1]
print(intersect)
Run Code Online (Sandbox Code Playgroud)

请帮我解决这个问题。

python string intersection list cpu-word

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

如何检查数组的某个部分是否存在于另一个数组中?

我有两个关联数组,我想检查是否

$array1["foo"]["bar"]["baz"] exists in $array2["foo"]["bar"]["baz"]
Run Code Online (Sandbox Code Playgroud)

值无关紧要,只是“路径”。array_ intersect_ assoc是否可以满足我的需求?
如果没有,我该怎么写我自己?

php arrays intersection

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

否定布尔评估的真实性导致5倍减速?

我正在尝试实现一个八叉树,为此,我需要一个快速的AABB射线交叉算法.经过一番搜索,我偶然发现了这篇文章.从这里提供的源代码中,我将pluecker_cls_cff函数转换为C#,如下所示:

public bool Intersect_2(ref RayPluecker r)
{
  switch (r.Classification)
  {

    // 7 same-ish cases snipped

    case Classification.PPP:

      return !((r.Position.X > this.Max.X) || (r.Position.Y > this.Max.Y) || (r.Position.Z > this.Max.Z) ||
        (r.PlueckerCoefficient.X + r.Direction.X * this.Max.Y - r.Direction.Y * this.Min.X < 0) ||
        (r.PlueckerCoefficient.X + r.Direction.X * this.Min.Y - r.Direction.Y * this.Max.X > 0) ||
        (r.PlueckerCoefficient.Y + r.Direction.X * this.Min.Z - r.Direction.Z * this.Max.X > 0) ||
        (r.PlueckerCoefficient.Y + r.Direction.X * this.Max.Z - r.Direction.Z * …
Run Code Online (Sandbox Code Playgroud)

c# performance intersection aabb

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

Circle - Line Intersection工作不正常?

我在http://mathworld.wolfram.com/Circle-LineIntersection.html之后写了这个圆线交叉检测,但看起来好像它或我遗漏了一些东西.

    public static bool Intersect
    (Vector2f CirclePos, float CircleRad, Vector2f Point1, Vector2f Point2)
    {
        Vector2f p1 = Vector2f.MemCpy(Point1);
        Vector2f p2 = Vector2f.MemCpy(Point2);

        // Normalize points
        p1.X -= CirclePos.X;
        p1.Y -= CirclePos.Y;
        p2.X -= CirclePos.X;
        p2.Y -= CirclePos.Y;

        float dx = p2.X - p1.X;
        float dy = p2.Y - p1.Y;
        float dr = (float)Math.Sqrt((double)(dx * dx) + (double)(dy * dy));
        float D = p1.X * p2.Y * p2.X - p1.Y;

        float di = (CircleRad * CircleRad) * (dr * …
Run Code Online (Sandbox Code Playgroud)

c# math intersection

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

如何使用python交叉两个水平列表?

在我写的代码中,我需要交叉两个水平列表,如:

listA的:

chr1    aatt
chr8    tagg
chr11   aaaa
chr7    gtag
Run Code Online (Sandbox Code Playgroud)

数组listB

chr8    tagt
chr1    tttt
chr7    gtag
chr11   aaaa
chr9    atat

#This lists are compounded by one str per line, wich it has a "/t" in the middle. 
#Also note that are in different order
Run Code Online (Sandbox Code Playgroud)

我怎样才能得到这两个列表的交集?

期望的结果:

chr7    gtag
chr11   aaaa
Run Code Online (Sandbox Code Playgroud)

我也可以生成每行两个字符串的列表,如下所示:\

listA的:

('chr1', 'aatt')
('chr8', 'tagg')
('chr11', 'aaaa')
('chr7', 'gtag')
Run Code Online (Sandbox Code Playgroud)

数组listB

('chr8', 'tagt')
('chr1', 'tttt')
('chr7', 'gtag')
('chr11','aaaa')
('chr9', 'atat')
Run Code Online (Sandbox Code Playgroud)

在这种情况下,重要的是必须将两列视为一列

谢谢你的时间!

python intersection list

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

将数组中的每个数组相交 - Ruby

我想找到数组中每个数组元素的交集并取相交.

输入是数组的数组,例如,如下面脚本中所提到的"'list_arrays'"'过滤器'是需要应用于观察到的交叉点总长度的限制.输出预期为这样的数组"[[2 ,4]]"

list_arrays = [[1, 2, 3, 4], [2, 5, 6], [1, 5, 8], [8, 2, 4]]
filter = 2

first_element_array = Array.new
list_arrays.each_with_index do |each_array1, index1|        
 list_arrays.each_with_index do |each_array2, index2|
  unless index1 < index2
   intersection = each_array1 & each_array2
   if intersection.length == filter.to_i
    first_element_array.push(intersection)
   end
  end
 end
end
puts first_element_array
Run Code Online (Sandbox Code Playgroud)

上面的过程需要很长的执行时间,因为我有太长的数组(百万行).我需要一种简单的rubistic方法来处理这个问题.任何人都有任何简单的想法吗?

ruby arrays each foreach intersection

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

如何检查多边形是否与多边形相交.(JAVA)

我需要检查是否有Polygon另一个实例相交Polygon.(该intersects()方法不会这样做,因为它只接受一个Rectangle2D或一个矩形区域作为争论).

如果重要的话,那两个Polygons我想要检查它们是否相交,都是长方形的,但是以不是90度的天使旋转,所以我不能使用这种intersects()方法,或者至少我认为我可以'吨.

我怎样才能做到这一点?谢谢

java intersection polygon

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

OpenLayers 3,几何之间的区域交叉

我正在评估OpenLayers3是否能够为我们提供日常所需的一些工具,而且我遇到了一个我不得不存在但我无法找到相关信息的功能.

我需要知道OpenLayers是否允许我们计算两个多边形之间的交叉区域.

我们将在地图上加载不同的图层.通常是具有地形分离的图层和具有地形类的其他图层.

我们需要在每个分离中确定每个类的地形有多少,而我最好的拍摄是通过在不同层中交叉多边形.

我无法在OpenLayers3文档中找到有关此功能的示例或信息.

如果你们中的任何一个人都知道一个更好的方法来计算一个地块中的土地类型数量,我也很高兴知道它.

编辑:如何实现多边形碰撞算法?将萨瑟兰-Hodgman算法做的伎俩?

javascript intersection openlayers-3

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

三维线与三角形之间的交点

我在3D空间的某个地方有一条线和一个三角形.换句话说,我有三个点([x,y,z]每个)三角形,和两个点(也是[x,y,z])的线.

我需要找出一种方法,希望使用C++来确定线是否曾经过三角形.与三角形平行且具有多个共同点的线应计为"不相交".

我已经制作了一些代码,但它不起作用,即使视觉表现清楚地显示了交叉点,我也总是假的.

ofVec3f P1, P2;
P1 = ray.s;
P2 = ray.s + ray.t;

ofVec3f p1, p2, p3;
p1 = face.getVertex(0);
p2 = face.getVertex(1);
p3 = face.getVertex(2);

ofVec3f v1 = p1 - p2;
ofVec3f v2 = p3 - p2;

float a, b, c, d;

a = v1.y * v2.z - v1.z * v2.y;
b = -(v1.x * v2.z - v1.z * v2.x);
c = v1.x * v2.y - v1.y * v2.x;
d = -(a * p1.x + b * p1.y …
Run Code Online (Sandbox Code Playgroud)

c++ 3d intersection line line-intersection

1
推荐指数
3
解决办法
5210
查看次数

计算N组交叉点的快速算法

我有n套A0,A2,...... An-1持有一套E的物品.

我将配置C定义为由n位组成的整数,因此C的值介于0和2 ^ n-1之间.现在,我定义以下内容:

(C)   an item e of E is in configuration C 
       <=> for each bit b of C, if b==1 then e is in Ab, else e is not in Ab
Run Code Online (Sandbox Code Playgroud)

例如,对于n = 3,配置C = 011对应于在A0和A1中但不在A2中的E项(NOT是重要的)

C[bitmap]是在集合中具有完全存在/不存在模式的元素的数量. C[001]是A0中不在任何其他集合中的元素数量.


另一个可能的定义是:

(V)   an item e of E is in configuration V 
       <=> for each bit b of V, if b==1 then e is in Ab
Run Code Online (Sandbox Code Playgroud)

例如,对于n = 3,(V)配置V = 011对应于A0和A1中的E项

V[bitmap]是所选集合的交集计数. (即位图为真的所有集合中有多少个元素的计数.) V[001]是A0中元素的数量. V[011] …

c++ algorithm intersection simd set

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