一、暴力法遍历
class Solution:def findSolution(self, customfunction: 'CustomFunction', z: int) -> List[List[int]]:res = []f = customfunction.ffor x in range(1, z + 1):for y in range(1, z + 1):if f(x, y) == z:res.append([x, y])elif f(x, y) > z:breakreturn res
不断的匹配x和y,满足f(x, y)的条件
二、双指针法
class Solution:def findSolution(self, customfunction: 'CustomFunction', z: int) -> List[List[int]]:x, y, ans = 1, 1000, []f = customfunction.fwhile x <= 1000 and y >= 1:res = f(x, y)if res < z:x += 1elif res > z:y -= 1elif res == z:ans.append([x, y])x += 1y -= 1return ans
内存时间少了一点,用x,y从前后两边向中间取结果。