回复 3# papapa314
这题有点意思,来个笨办法
#include <array.au3>
Local $a[5]=[1,2,3,4,5],$b[5]=[2,3,4,9,10],$c[5]=[2,1,3,4,7],$d[5]=[9,8,6,5,4],$e[5]=[3,2,1,5,6]
_ArrayConcatenate($a,$b)
_ArrayConcatenate($a,$c)
_ArrayConcatenate($a,$d)
_ArrayConcatenate($a,$e)
$u=_ArrayUnique($a)
_ArrayDelete($u,0)
Local $fin[UBound($u)][2]
For $i=0 To UBound($u)-1
$fin[$i][0]=$u[$i]
$fin[$i][1]=1
Next
Local $temp[UBound($a)][2]
For $i=0 To UBound($a)-1
$temp[$i][0]=$a[$i]
$temp[$i][1]=Int($i/5)+1
Next
_ArraySort($temp)
Local $k=0
For $n=0 To UBound($u)-1
$array_new=_ArrayFindAll($temp,$u[$n])
If UBound($array_new)>1 Then
Local $array_temp[UBound($array_new)][2]
For $i=0 To UBound($array_new)-1
$array_temp[$i][0]=$temp[$array_new[$i]][0]
$array_temp[$i][1]=$temp[$array_new[$i]][1]
Next
_ArraySort($array_temp,0,0,0,1)
Local $num=2
For $i=1 To UBound($array_temp)-1
If $array_temp[$i][1]=$array_temp[$i-1][1]+1 Then
$fin[$k][0]=$array_temp[$i][0]
$fin[$k][1]=$num
$num+=1
EndIf
Next
Else
$fin[$k][0]=$u[$n]
$fin[$k][1]=1
EndIf
$k+=1
Next
_ArrayDisplay($fin)
|