首先由于是单一解问题,所以使用返回值类型为bool的dfs
然后为了保证dfs的效率性,应该把加数dfs放在前面,不加数的dfs放在后面(避免一直加0至尽头从而使递归低效)
最后就是由于加数放在前面,所以在加数的为假的时,后面那个不加数的可以向真的方向继续探索(如果按从小到大的顺序加,由于加数的为假(一般是由于合成的数大于目标数),那不加数的由于跳过当前数向更大的数推进就更大、更为假了)所以此时的加应该是按从大到小的顺序加,如果大于目标数的话,就会跳过当前数,向更小的数推进
本文共 298 字,大约阅读时间需要 1 分钟。
首先由于是单一解问题,所以使用返回值类型为bool的dfs
然后为了保证dfs的效率性,应该把加数dfs放在前面,不加数的dfs放在后面(避免一直加0至尽头从而使递归低效)
最后就是由于加数放在前面,所以在加数的为假的时,后面那个不加数的可以向真的方向继续探索(如果按从小到大的顺序加,由于加数的为假(一般是由于合成的数大于目标数),那不加数的由于跳过当前数向更大的数推进就更大、更为假了)所以此时的加应该是按从大到小的顺序加,如果大于目标数的话,就会跳过当前数,向更小的数推进
转载于:https://www.cnblogs.com/MekakuCityActor/p/8400190.html