高手求最优算法,取数存入另一数组
有一组数如下(不确定数目),按4个为一小组,取出其中最大的数,存入另一个数组b
Dim a As Integer() = {6, 2, 3, 7, 4, 1, 8, 10, 5, 9, 6, 3, 9, 3, 6}
[解决办法]
Public Function funx() As Integer()
Dim a As Integer() = {6, 2, 3, 7, 4, 1, 8, 10, 5, 9, 6, 3, 9, 3, 6}
Dim b As Integer()
Dim int_blen As Integer = 1
Dim maxNum = a(0)
Dim index_b As Integer = -1
If a.Length Mod 4 = 0 Then
int_blen = Int(a.Length / 4)
Else
int_blen = Int(a.Length / 4) + 1
End If
ReDim b(int_blen - 1)
Try
For i As Integer = 0 To a.Length - 1
If i Mod 4 = 0 And a(0) <> maxNum Then '每次到第五个数时,将前四个数的最大值存入b中
index_b = index_b + 1
b(index_b) = maxNum
maxNum = a(i)
Continue For
Else
If a(i) > maxNum Then
maxNum = a(i)
End If
End If
Next
If maxNum <> a(index_b) Then
index_b = index_b + 1
b(index_b) = maxNum
End If
Catch ex As Exception
MsgBox(ex.ToString)
End Try
Return b
End Function