我有两个二维点数组:
array1 = int[x][2]
array2 = int[y][2]
从这两个数组中,我想生成 4 个点的组合。结果应该在一个列表中:
List<int[4][2]>
但是我需要指定每个组合从 array1 中获取的点数(并从 array2 中获取剩余的点)。点的顺序无关紧要。而且不应该有重复。
例如:
array1={ {0,0} , {0,1} , {1,0} }
array2= { {1,1} , {2,1} , {2,2} , ... , {9,9} }
(从array1中取1分,从array2中取3分)
res= { {0,0} , {1,1} , {2,1} , {2,2} }
{ {0,0} , {1,1} , {2,1} , {3,2} }
...
{ {0,0} , {1,1} , {2,1} , {9,9} }
...
{ {0,1} , {1,1} , {2,1} , {2,2} }
...
绝不 :
res = { {0,0} , {1,1} , {1,1} , {1,1} }
...
两者都不 :
res= { {0,0} , {1,1} , {2,1} , {2,2} }
{ {0,0} , {1,1} , {2,2} , {2,1} }
...
(从array1中取2个点,从array2中取2个点)
...
(从 array1 中取 3 个点,从 array2 中取 1 个点)
...
我希望有人可以帮助我,因为我花了很多时间阅读/测试了很多答案,但找不到解决方案。
PS/编辑:如果您可以提供 C# 代码,那就太好了。