本题是一道比较简单枚举题目。
由于A数组中每个元素只可能是1、2和3。所以对于满足题目要求的三元组一定是Ai=1, Aj=2, Ak=3。
于是我们可以预先求出对于每一个2,它前面有多少个1,后面有多少个3;分别存在2个数组里。
然后枚举每一个2,它之前1的数目乘以它之后3的数目,就是以它为Aj的三元组数目。 对所有2求和就是答案。
本题是一道比较简单枚举题目。
由于A数组中每个元素只可能是1、2和3。所以对于满足题目要求的三元组一定是Ai=1, Aj=2, Ak=3。
于是我们可以预先求出对于每一个2,它前面有多少个1,后面有多少个3;分别存在2个数组里。
然后枚举每一个2,它之前1的数目乘以它之后3的数目,就是以它为Aj的三元组数目。 对所有2求和就是答案。
按照前缀来求。若当前数是1,则累计前缀"1",若当前数是2,则累计前缀"12",新增数量为当前前缀为"1"的数量,若当前数是3,则累计前缀"123",新增数量为当前前缀为"12"的数量。遍历完后,前缀为"123"的总数量,就是答案。当然,需要考虑总数上限溢出的情况