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

网站建设流程报告深圳官网建站服务商

网站建设流程报告,深圳官网建站服务商,网站地图1 500 怎么做,哪家公司做企业网站题目描述 题目链接:[LeetCode 1237]找出给定方程的正整数解 给你一个函数 f(x, y) 和一个目标结果 z,函数公式未知,请你计算方程 f(x,y) z 所有可能的正整数 数对 x 和 y。满足条件的结果数对可以按任意顺序返回。 尽管函数的具体式子未知…

题目描述

题目链接:[LeetCode 1237]找出给定方程的正整数解

给你一个函数 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:
x=1, y=4 -> f(1, 4) = 1 + 4 = 5
x=2, y=3 -> f(2, 3) = 2 + 3 = 5
x=3, y=2 -> f(3, 2) = 3 + 2 = 5
x=4, y=1 -> 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:
x=1, y=5 -> f(1, 5) = 1 * 5 = 5
x=5, y=1 -> f(5, 1) = 5 * 1 = 5

提示

  • 1 <= function_id <= 9
  • 1 <= z <= 100
  • 题目保证 f(x, y) == z 的解处于 1 <= x, y <= 1000 的范围内。
  • 在 1 <= x, y <= 1000 的前提下,题目保证 f(x, y) 是一个 32 位有符号整数。

思路分析

1.题目描述很不清晰,尤其是引入这个function_id
完全可以不用管这个function_id,其实就是告诉你我有九个这样的函数,函数都具有单调递增的性质,那我管你几个函数,只需要知道函数的性质就好了!

2.x,y都为1000,问题规模卡在n^2级别,看到单调,第一反应想到的就是二分

3.但是对于两个维度x和y来说很麻烦,所以我们可以固定一个维度,从这个维度上看,就是一个一维的单调递增函数,如图所示:固定住x,比如x=0,那么这个维度上,y就是单调递增的,所以可以通过枚举x,然后在每个维度上二分y来做,复杂度是O(nlogn) < O(n2n^2n2)
在这里插入图片描述

代码

class Solution {
public:vector<vector<int>> findSolution(CustomFunction& c, int z) {vector<vector<int>> res;//遍历xfor (int x = 1; x <= 1000; x++) {//二分yint l = 1, r = 1000;while(l < r) {int mid = (l + r) >> 1;if(c.f(x, mid) >= z) r = mid;else l = mid + 1;}//如果二分出来的点是零点,那么保存答案if(c.f(x, l) == z) res.push_back({x, l});}return res;}
};
http://www.yayakq.cn/news/534807/

相关文章:

  • 网站建设开票开什么内容什么网站可以自己做名片
  • 基于php的网站设计与实现域名打不开网站
  • 顺义哪里有做网站设计的个人做网站做什么样的话
  • 个人网站建立佳木斯万达建设网站
  • 网站建设课程的建议宇说建筑网站
  • 福州企业网站开发北京赛车网站开发多少钱
  • app调用网站得力企业网站建设
  • 网站开发怎么实现用户一对一发文字图片中国建设银行黄冈分行网站
  • 网站如果实现微信支付网站建设原码
  • 中山网站建设文化策划胜利油田局域网主页入口
  • 公司网页网站建设 ppt模板万网虚拟主机wordpress
  • 怎么做单页网站导航深圳网站制作公司流程图
  • 广告公司的网站建设价格工程信息服务平台
  • 定制化网站校园网上超市网站建设战略规划
  • 手机网站后台管理系统网络营销课程培训
  • js检测网站是否能打开Python能开发WordPress
  • 免费asp网站模板带后台网址导航网站一键建设
  • 免费网站建设专业的公司农家乐网站建设
  • 平邑网站开发wordpress头部标签描述
  • 越秀电子商务网站建设扶贫网站建设
  • 怎么自己制作网站平台企业网站域名注册查询
  • 免费的网站有哪些广告投放网站
  • 网站搭建 保定始兴县建设局网站
  • 网站构造图片管理平台wordpress
  • 英德市住房城乡建设局网站南皮哪有做网站的
  • 电子商务网站建设主要内容小微企业所得税优惠政策
  • 台州网站设计公司剧院网站建设
  • 西部数码网站备份月子会所网站源码
  • 电商平台网站建设策划书广州企业网站制作推广运营
  • 自己网站页面设计软件seo综合查询怎么进入网站