枚举的时候注意一个情况:
如果有三个数需要枚举,但是这三个数符合一个公式,那么枚举的时候只需要枚举出前两个值即可,第三个数的值由公式以及前两个数的值得到。
比如百鸡问题。共有三种鸡,三种鸡的数量分别是x、y和z,三种鸡的数量符合式子:x+y+z=100,那么枚举的时候,只用写两层for循环即可达到目的,节省时间开销,优化时间复杂度。很多时候就是因为多写了一层for循环导致程序运行超时。这个问题值得注意。
类似的问题还有16年蓝桥杯四平方和。三层for循环即可达到目的,四层就有可能超时。
枚举的时候注意一个情况:
如果有三个数需要枚举,但是这三个数符合一个公式,那么枚举的时候只需要枚举出前两个值即可,第三个数的值由公式以及前两个数的值得到。
比如百鸡问题。共有三种鸡,三种鸡的数量分别是x、y和z,三种鸡的数量符合式子:x+y+z=100,那么枚举的时候,只用写两层for循环即可达到目的,节省时间开销,优化时间复杂度。很多时候就是因为多写了一层for循环导致程序运行超时。这个问题值得注意。
类似的问题还有16年蓝桥杯四平方和。三层for循环即可达到目的,四层就有可能超时。