|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
本帖最后由 micch 于 2024-4-23 11:27 编辑
搜算法遇到一个题,看上去直接循环很简单的题,用什么算法好呢?有没有vba的写法,学习一下。
先用暴力循环写个基础版,很粗浅的解法。
代码:
- Sub Main()
- Dim ar, br, cr(9) As Long
- Dim i, j, k
-
- ar = [{1,10;44,497;346,542;1199,1748;1496,1403;1004,503;1714,190;1317,854;1976,494;1001,1960}]
- ReDim br(1 To UBound(ar))
-
- For i = 1 To UBound(ar)
- br(i) = cr
- If ar(i, 1) > ar(i, 2) Then
- k = ar(i, 1): ar(i, 1) = ar(i, 2): ar(i, 2) = k
- End If
- For j = ar(i, 1) To ar(i, 2)
- For k = 1 To Len(j)
- br(i)(Mid(j, k, 1)) = br(i)(Mid(j, k, 1)) + 1
- Next
- Next
- Next
-
- For j = 0 To 9
- s = s & vbTab & vbTab & j
- Next
- Debug.Print vbTab & vbTab & vbTab & s
- For i = 1 To UBound(ar)
- s = ar(i, 1) & "~" & ar(i, 2) & ":" & vbTab
- For j = 0 To 9
- s = s & vbTab & vbTab & br(i)(j)
- Next
- Debug.Print s
- Next
- End Sub
复制代码
输出结果:
|
评分
-
1
查看全部评分
-
|