Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 置换数组的映射_Javascript_Algorithm_Google Maps_Mapping_Permutation - Fatal编程技术网

Javascript 置换数组的映射

Javascript 置换数组的映射,javascript,algorithm,google-maps,mapping,permutation,Javascript,Algorithm,Google Maps,Mapping,Permutation,我有3套/阵列。其中2个被置换为数字n∈ {1,2,3,4}(例如n=4->ABCD),第三个元素是两个元素的组合。以下是置换集A和B(它们是相同的): ABCD ABDC ACBD ACBD ACDB ADBC ADCB BACD badd BCAD BCAD BCDA BDAC BDCA CABD CADB CBAD CBDA CDAB CDBA DABC DACB DBAC DBCA DCAB DCBA 这里是一组n的组合∈ {1,2,3,4}(例如n=4->AA-AB-AC-AD.) A

我有3套/阵列。其中2个被置换为数字n∈ {1,2,3,4}(例如n=4->ABCD),第三个元素是两个元素的组合。以下是置换集A和B(它们是相同的):

ABCD ABDC ACBD ACBD ACDB ADBC ADCB BACD badd BCAD BCAD BCDA BDAC BDCA CABD CADB CBAD CBDA CDAB CDBA DABC DACB DBAC DBCA DCAB DCBA

这里是一组n的组合∈ {1,2,3,4}(例如n=4->AA-AB-AC-AD.)

AA AB AC AD BA BB BC BD CA CB CC CD DA DB DC DD

这就是输入

三组/阵列的映射

我希望在不比较每个对象的内容的情况下,组合这3个集合/数组,以获得如下输出:

[ABCD DA ABCD][ABCD DA ABDC][ABCD DA ACBD][ABCD DA ACDB][ABCD DA ADBC][ABCD DA ADCB]

对于集合A的第一个元素,集合A的第一个元素的最后一个字符映射为组合的第一个字符,而组合的第二个字符映射为集合B中所有元素的第一个字符

这必须通过所有元素来完成

棘手的是,n不是静态的,它被设置为1、2、3或4。所以我需要一个考虑到这一点的函数

映射后

集合中的每个元素都是一个对象,用于描述路线。该目标如下:

originRoute = { 
  a: google.maps.LatLng, 
  b: google.maps.LatLng, 
  c: google.maps.LatLng, 
  d: google.maps.LatLng, 
  distance: integer }; //Element of Set A
destinationRoute = {
  a': google.maps.LatLng,
  b': google.maps.LatLng,
  c': google.maps.LatLng,
  d': google.maps.LatLng,
  distance: integer }; //Element of Set B
connectionRoute = {
  originPeer: google.maps.LatLng,
  destinationPeer: google.maps.LatLng,
  distance: integer }; //Element of Combination
在绘制路线A、B、C之后,我想计算从A'到d'的最短距离。但要实现这一点,我需要映射这些元素


有谁能告诉我如何做到这一点,通过考虑每个数组的大小可以改变给定的n.

我不知道你做了什么,你在问什么。你能生成排列和组合吗?您只需要在输出中获取
(n!)^2
项?我的第一个想法是遍历两个排列列表,然后选择将排列链接在一起的唯一组合。这就是我最后所做的。我只是通过两个排列列表进行迭代,并将其与连接器链接。