当前位置: 首页 > news >正文

厦门外贸网站建设公司金华网站推广

厦门外贸网站建设公司,金华网站推广,积极参与网站信息建设工作,体育新闻来源#xff1a;力扣#xff08;LeetCode#xff09; 描述#xff1a; 给你一个函数 f(x, y) 和一个目标结果 z#xff0c;函数公式未知#xff0c;请你计算方程 f(x,y) z 所有可能的正整数 数对 x 和 y。满足条件的结果数对可以按任意顺序返回。 尽管函数的具体式子…来源力扣LeetCode 描述 给你一个函数 f(x, y) 和一个目标结果 z函数公式未知请你计算方程 f(x,y) z 所有可能的正整数 数对 x 和 y。满足条件的结果数对可以按任意顺序返回。 尽管函数的具体式子未知但它是单调递增函数也就是说 f(x, y) f(x 1, y)f(x, y) f(x, y 1) 函数接口定义如下 interface CustomFunction { public:// Returns some positive integer f(x, y) for two positive integers x and y based on a formula.int f(int x, int y); };你的解决方案将按如下规则进行评判 判题程序有一个由 CustomFunction 的 9 种实现组成的列表以及一种为特定的 z 生成所有有效数对的答案的方法。判题程序接受两个输入function_id决定使用哪种实现测试你的代码以及目标结果 z 。判题程序将会调用你实现的 findSolution 并将你的结果与答案进行比较。如果你的结果与答案相符那么解决方案将被视作正确答案即 Accepted 。 示例 1 输入function_id 1, z 5 输出[[1,4],[2,3],[3,2],[4,1]] 解释function_id 1 暗含的函数式子为 f(x, y) x y 以下 x 和 y 满足 f(x, y) 等于 5 x1, y4 - f(1, 4) 1 4 5 x2, y3 - f(2, 3) 2 3 5 x3, y2 - f(3, 2) 3 2 5 x4, y1 - f(4, 1) 4 1 5示例 2 输入function_id 2, z 5 输出[[1,5],[5,1]] 解释function_id 2 暗含的函数式子为 f(x, y) x * y 以下 x 和 y 满足 f(x, y) 等于 5 x1, y5 - f(1, 5) 1 * 5 5 x5, y1 - f(5, 1) 5 * 1 5提示 1 function_id 91 z 100题目保证 f(x, y) z 的解处于 1 x, y 1000 的范围内。在 1 x, y 1000 的前提下题目保证 f(x, y) 是一个 32 位有符号整数。 方法一枚举 根据题目给出的 x 和 y 的取值范围枚举所有的 x, y 数对保存满足 f(x, y) z 的数对最后返回结果。 代码 class Solution { public:vectorvectorint findSolution(CustomFunction customfunction, int z) {vectorvectorint res;for (int x 1; x 1000; x) {for (int y 1; y 1000; y) {if (customfunction.f(x, y) z) {res.push_back({x, y});}}}return res;} };执行用时124 ms, 在所有 C 提交中击败了13.98%的用户 内存消耗6.2 MB, 在所有 C 提交中击败了80.64%的用户 复杂度分析 时间复杂度O(mn)其中 m 是 x 的取值数目n 是 y 的取值数目。 空间复杂度O(1)。返回值不计入空间复杂度。 方法二二分查找 我们固定 x x0​ 时函数 g(y) f(x0, y) 是单调递增函数可以通过二分查找来判断是否存在 y y0 使 g(y0) f(x0, y0) z 成立。 代码 class Solution { public:vectorvectorint findSolution(CustomFunction customfunction, int z) {vectorvectorint res;for (int x 1; x 1000; x) {int yleft 1, yright 1000;while (yleft yright) {int ymiddle (yleft yright) / 2;if (customfunction.f(x, ymiddle) z) {res.push_back({x, ymiddle});break;}if (customfunction.f(x, ymiddle) z) {yright ymiddle - 1;} else {yleft ymiddle 1;}}}return res;} };执行用时4 ms, 在所有 C 提交中击败了51.61%的用户 内存消耗6.1 MB, 在所有 C 提交中击败了96.77%的用户 复杂度分析 时间复杂度O(mlogn)其中 m 是 x 的取值数目n 是 y 的取值数目。 空间复杂度O(1)。返回值不计入空间复杂度。 方法三双指针 假设 x1 x2且 f(x1, y1) f(x2, y2) z显然有 y1 y2。因此我们从小到大进行枚举 x并且从大到小枚举 y当固定 x 时不需要重头开始枚举所有的 y只需要从上次结束的值开始枚举即可。 代码 class Solution { public:vectorvectorint findSolution(CustomFunction customfunction, int z) {vectorvectorint res;for (int x 1, y 1000; x 1000 y 1; x) {while (y 1 customfunction.f(x, y) z) {y--;}if (y 1 customfunction.f(x, y) z) {res.push_back({x, y});}}return res;} };执行用时4 ms, 在所有 C 提交中击败了51.61%的用户 内存消耗6.3 MB, 在所有 C 提交中击败了17.20%的用户 复杂度分析 时间复杂度O(mn)其中 m 是 x 的取值数目n 是 y 的取值数目。 空间复杂度O(1)。返回值不计入空间复杂度。 authorLeetCode-Solution
http://www.dnsts.com.cn/news/178516.html

相关文章:

  • 视频发布播放网站建设网站建设需要什么研究条件
  • 网站开发毕业设计说明书范文广西智能网站建设平台
  • 博客网站模板seo网站优化公司
  • 毕设源码网站中交通力建设股份有限公司网站
  • 烟台住房和城乡建设局网站网站更改了资料 百度什么时侯来抓取
  • 手机网站 代码格式wordpress打开要10秒
  • 深圳福田区区住房和建设局网站电子商务网站建设题库及答案
  • 网站建设中ftp起什么作用wordpress博客搬家主页404
  • 建设网络道德教育网站不包括创建网站用什么语言
  • seo推广联系方式乐陵德州seo公司
  • 昆明市住房和城乡建设局网站上看的wordpress加载相册慢
  • 生成静态页面网站源码工程合同范本通用版
  • 玄武区网站建设手机访问wordpress网站卡
  • 大型网站建设公司 北京网页设计公司哪家效果好
  • 重庆巴南区网站开发公司网站结构布局
  • 展示型网站功能有建设网站的软件吗
  • 做展示类网站万网账号跟网站有关系吗
  • 长沙哪里可以做网站成绩查询网站怎么做
  • 济南网站建设李尚荣网站开发教程百度云
  • 如何解决网站兼容性问题网站建设ppt方案
  • 狮岭做包包的网站事业单位网站建设的作用
  • 可以免费学编程的网站怎么设置iis默认网站
  • 萝岗微网站建设做彩票网站需要什么技术
  • 现在还有人做网站吗品牌建设之道有哪些
  • 方太网站谁做的亚马逊网站链接
  • 阆中网站建设只做网站不做app
  • 百度打网站名称就显示 如何做咸阳企业网站建设
  • 徐闻住房与城乡建设局网站做化工哪个网站好
  • 北滘企业网站开发个人网站做电影网站
  • 一个网站的二级目录在另一台服务器上_怎么做网站模板管理系统