gpt4 book ai didi

arrays - 基于模式匹配的冷聚变计数

转载 作者:行者123 更新时间:2023-12-04 08:18:21 25 4
gpt4 key购买 nike

我正在从数据库中读取数字并创建一个 4 位数字模式,例如:

1, 2, 2, 1
0, 2, 2, 2
4, 0, 2, 0
1, 2, 2, 1
2, 1, 1, 2
每个数字只能是 0-6。第二步是我的问题所在。我需要计算每个模式。例如,模式 1,2,2,1 的计数为 2,因为它出现了两次,而其他模式各只出现一次。
在最终输出时,我需要能够显示每个独特的模式和计数,例如:
1, 2, 2, 1 - 2
0, 2, 2, 2 - 1
4, 0, 2, 0 - 1
2, 1, 1, 2 - 1
我正在考虑使用二维数组。在哪里
combinations[1][1]="1, 2, 2, 1" (the pattern)
combinations[1][2]=2 (the count)
combinations[2][1]="0, 2, 2, 2"
combinations[2][2]=1
etc.
如何在匹配模式的同时实际动态创建数组?即如果尚未找到模式,则将其添加到数组中。如果找到,则添加到计数中。我试过这个:
<cfloop index="i" from="1" to="#ArrayLen(combinations)#">
<cfif not arrayFind(combinations[i][1],"#patterns#")>
<cfset arrayAppend(combinations,["#patterns#",1]) >
<cfelse>
<cfset combinations[i][2] = combinations[i][2] + 1>
</cfif>
</cfloop>
但是我在 ArrayFind 上收到错误消息:
Object of type class java.lang.String cannot be used as an array 
任何帮助表示赞赏。先感谢您。

最佳答案

解决了我自己的问题。看起来我用错了函数。这有效:

<cfloop index="i" from="1" to="#ArrayLen(combinations)#">
<cfif Find(combinations[i][1],"#patterns#")>
<cfset combinations[i][2] = combinations[i][2] + 1>
<cfset found = 1>
</cfif>
</cfloop>
<cfif not found>
<cfset arrayAppend(combinations,["#patterns#",1]) >
</cfif>

关于arrays - 基于模式匹配的冷聚变计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65606019/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com