在排序的数组中查找所有三元组,这些数组在C ++中形成“几何级数”
假设我们有一个带有不同正整数的排序数组。我们必须找到所有三元组,它们形成具有整数公共比例的几何级数。假设数组元素为[1、2、6、10、18、54],三元组为(2、6、18)和(6、18、54),它们形成了几何级数。
为了解决这个问题,我们将从第二个元素开始,将每个元素固定为中间元素,然后搜索较小和较大的元素。对于中间元素arr[j]为几何级数的中间,前一个元素arr[i]和arr[k]类似于
$$\frac{arr[j]}{arr[i]}=\frac{arr[k]}{arr[j]}=r