原题链接:
1237. 找出给定方程的正整数解
解题思路:
- 根据题意,
1 <= x, y <= 1000
,因此可以暴力枚举所有x
和y
,提供给函数计算 - 将
customfunction.f(x, y) === z
的结果全部存储并返回即可
/**
* @param {CustomFunction} customfunction
* @param {integer} z
* @return {integer[][]}
*/
var findSolution = function(customfunction, z) {
let result = [] // 存储结果
// 枚举所有x,y,并使用函数计算结果
for (let x = 1; x <= 1000; x++) {
for (let y = 1; y <= 1000; y++) {
// 如果计算结果等于z,就存储x,y
if (customfunction.f(x, y) === z) {
result.push([x, y])
}
}
}
return result
};
复杂度分析:
- 时间复杂度: O ( n 2 ) O(n^2) O(n2)
- 空间复杂度: O ( 1 ) O(1) O(1)。返回值不计入空间复杂度