如何在阵列耦合器的dart中创建函数

如何在阵列耦合器的dart中创建函数,dart,Dart,让函数ArrayCouples(arr)获取要传递的arr参数,该参数将是偶数个正整数的数组,并确定数组中的每对整数[k,k+1]、[k+2,k+3]等是否在数组中的其他位置具有相应的反向对。例如:如果arr是[4,5,1,4,5,4,4,1],那么程序应该输出字符串yes,因为第一对4,5在数组中有反向对5,4,下一对1,4在数组中也有反向对4,1。但若数组不包含所有对及其反向对,那个么程序应该按照它们在数组中出现的顺序输出一个不正确的整数对字符串。 例如:如果arr是[6,2,2,6,5,1

让函数ArrayCouples(arr)获取要传递的arr参数,该参数将是偶数个正整数的数组,并确定数组中的每对整数[k,k+1]、[k+2,k+3]等是否在数组中的其他位置具有相应的反向对。例如:如果arr是
[4,5,1,4,5,4,4,1]
,那么程序应该输出字符串yes,因为第一对
4,5
在数组中有反向对
5,4
,下一对
1,4
在数组中也有反向对
4,1
。但若数组不包含所有对及其反向对,那个么程序应该按照它们在数组中出现的顺序输出一个不正确的整数对字符串。 例如:如果arr是
[6,2,2,6,5,14,14,1]
,则程序应输出字符串
5,14,14,1
,仅用逗号分隔整数

import 'dart:io';

int ArrayCouples(List arr) {

  
  return arr[0];

}
   
void main() {
  print(ArrayCouples(stdin.readLineSync()));
}
例如:

Input: [2,1,1,2,3,3]
Output: 3,3

那么如何创建这样的函数。

这里有一个可能适合您的解决方案,我将添加解释作为注释:

字符串数组偶(列表值){
//考虑具有偶数个元素的输入
断言(value.length%2==0);
//存储无效对,以便我们可以在结束时返回它们
最终列表invalidPairs=[];
//迭代偶数索引,直到最后一个索引
//这将允许我们使用i0和i0+1访问一对
对于(int i0=0;i0=0;j1-=2){
最终int j0=j1-1;
//访问当前对
最终列表对=[值[j1],值[j0];
//进行比较检查
if(基[0]==对[0]&&base[1]==对[1]){
发现=真;
打破
}
}
//如果反向搜索没有找到任何东西,
//将碱基对添加到无效对
如果(!找到){
残废空气添加(基础);
}
}
返回无效的空
//如果没有无效对,则返回“是”
“是的”
//否则,展开无效对内的所有值
//添加到单个列表,并使用逗号将它们连接起来
:invalidPairs.expand((pair)=>pair.join(“,”);
}
其中每一个的输出

print(数组偶([4,5,1,4,5,4,4,1])==“是”);
打印(数组偶([6,2,2,6,5,14,14,1])==“5,14,14,1”);
打印(数组偶([2,1,1,2,3,3])==“3,3”);
打印(数组偶([2,1,1,2])==“是”);
这是真的