解决以下问题的速度算法最有效的是什么?
给定6个阵列,D1,D2,D3,D4,D5和D6,每个包含6个数字,如:
D1[0] = number D2[0] = number ...... D6[0] = number
D1[1] = another number D2[1] = another number ....
..... .... ...... ....
D1[5] = yet another number .... ...... ....
Run Code Online (Sandbox Code Playgroud)
给定第二个数组ST1,包含1个数字:
ST1[0] = 6
Run Code Online (Sandbox Code Playgroud)
给定第三个数组ans,包含6个数字:
ans[0] = 3, ans[1] = 4, ans[2] = 5, ......ans[5] = 8
Run Code Online (Sandbox Code Playgroud)
使用数组D1,D2,D3,D4,D5和D6的索引,从0到存储在ST1 [0]中的数字减1,在本例6中,从0到6-1,将ans数组与每个D数组进行比较.如果在相同索引处的任何D中找不到一个或多个ans数,则结果应为0,如果在相同索引处的某个D中找到所有ans数,则结果应为1.也就是说,如果某些ans [i]不等于任何D N [i] 则返回0,并且如果每个ans [i]等于某个D N [i] 则返回1 .
到目前为止,我的算法是:
我试图尽可能地保持一切不受欢迎.
EML := ST1[0] //number contained in ST1[0]
EML1 := 0 //start index for the arrays D
While …Run Code Online (Sandbox Code Playgroud)