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

天津专业网站建设公司百度权重4网站值多少钱

天津专业网站建设公司,百度权重4网站值多少钱,wordpress首页显示友链,青岛做网站建设给你一个变量对数组 equations 和一个实数值数组 values 作为已知条件,其中 equations[i] [Ai, Bi] 和 values[i] 共同表示等式 Ai / Bi values[i] 。每个 Ai 或 Bi 是一个表示单个变量的字符串。 另有一些以数组 queries 表示的问题,其中 queries[j]…

给你一个变量对数组 equations 和一个实数值数组 values 作为已知条件,其中 equations[i] = [Ai, Bi] 和 values[i] 共同表示等式 Ai / Bi = values[i] 。每个 Ai 或 Bi 是一个表示单个变量的字符串。

另有一些以数组 queries 表示的问题,其中 queries[j] = [Cj, Dj] 表示第 j 个问题,请你根据已知条件找出 Cj / Dj = ? 的结果作为答案。

返回 所有问题的答案 。如果存在某个无法确定的答案,则用 -1.0 替代这个答案。如果问题中出现了给定的已知条件中没有出现的字符串,也需要用 -1.0 替代这个答案。

注意:输入总是有效的。你可以假设除法运算中不会出现除数为 0 的情况,且不存在任何矛盾的结果。

注意:未在等式列表中出现的变量是未定义的,因此无法确定它们的答案。

示例 1:

输入:equations = [["a","b"],["b","c"]], values = [2.0,3.0], queries = [["a","c"],["b","a"],["a","e"],["a","a"],["x","x"]]
输出:[6.00000,0.50000,-1.00000,1.00000,-1.00000]
解释:
条件:a / b = 2.0, b / c = 3.0
问题:a / c = ?, b / a = ?, a / e = ?, a / a = ?, x / x = ?
结果:[6.0, 0.5, -1.0, 1.0, -1.0 ]
注意:x 是未定义的 => -1.0

示例 2:

输入:equations = [["a","b"],["b","c"],["bc","cd"]], values = [1.5,2.5,5.0], queries = [["a","c"],["c","b"],["bc","cd"],["cd","bc"]]
输出:[3.75000,0.40000,5.00000,0.20000]

示例 3:

输入:equations = [["a","b"]], values = [0.5], queries = [["a","b"],["b","a"],["a","c"],["x","y"]]
输出:[0.50000,2.00000,-1.00000,-1.00000]

提示:

  • 1 <= equations.length <= 20
  • equations[i].length == 2
  • 1 <= Ai.length, Bi.length <= 5
  • values.length == equations.length
  • 0.0 < values[i] <= 20.0
  • 1 <= queries.length <= 20
  • queries[i].length == 2
  • 1 <= Cj.length, Dj.length <= 5
  • Ai, Bi, Cj, Dj 由小写英文字母与数字组成

步骤1:定义题目问题性质

  1. 问题性质

    • 输入
      • equations: 包含已知等式的字符串对列表,如 [["a", "b"], ["b", "c"]]
      • values: 对应每个等式的值列表,如 [2.0, 3.0]
      • queries: 包含待求解问题的字符串对列表,如 [["a", "c"], ["b", "a"]]
    • 输出
      • 对于每个问题,返回相应的结果。无法确定的结果返回 -1.0
  2. 限制条件

    • 1 <= equations.length, queries.length <= 20
    • 每个变量由小写字母和数字组成,长度在 [1, 5] 范围内。
    • 保证无除数为 0 的情况,无矛盾结果。
  3. 潜在边界条件

    • 查询中涉及未定义变量时,应返回 -1.0
    • 对变量自身的查询(如 ["a", "a"]),结果恒为 1.0
    • 可能出现循环关系,如 a/b = 2.0 和 b/a = 0.5

步骤2:算法设计和步骤

此问题本质上是一个 图论问题

  • 每个变量是图的一个节点。
  • 每个等式表示节点之间的边,边权重是等式的值。

解决方法:使用 Floyd-Warshall 算法或 DFS/BFS 构建和查询图。

  1. 图的构建

    • 使用邻接表表示图,存储节点和边权。
    • 将等式 a / b = k 转化为两条边:
      • a -> b,权重为 k
      • b -> a,权重为 1/k
  2. 查询处理

    • 如果两个节点之间有路径,通过图的边权相乘计算结果。
    • 如果两个节点之间无路径,返回 -1.0
  3. 算法步骤

    • 步骤1:构建图。
    • 步骤2:使用深度优先搜索(DFS)处理每个查询:
      • 维护访问记录以防止无限循环。
      • 在路径上累积结果,如果找到目标节点,返回结果。
    • 步骤3:将结果存入列表并返回。
  4. 时间复杂度分析

    • 图构建O(E),其中 E 是等式数量。
    • 每次查询O(V + E),使用 DFS 遍历图。
    • 总体复杂度:O(E + Q * (V + E))Q 是查询数量。

步骤3:详细C++代码

class Solution {
public:vector<double> calcEquation(vector<vector<string>>& equations, vector<double>& values, vector<vector<string>>& queries) {// 用邻接表表示图unordered_map<string, unordered_map<string, double>> graph;// 构建图for (int i = 0; i < equations.size(); i++) {string a = equations[i][0];string b = equations[i][1];double value = values[i];graph[a][b] = value;graph[b][a] = 1.0 / value;}// 结果数组vector<double> results;// 对每个查询进行DFSfor (auto& query : queries) {string start = query[0];string end = query[1];// 如果变量不存在,直接返回 -1.0if (graph.find(start) == graph.end() || graph.find(end) == graph.end()) {results.push_back(-1.0);continue;}// 访问记录unordered_set<string> visited;double result = -1.0;if (dfs(graph, start, end, visited, 1.0, result)) {results.push_back(result);} else {results.push_back(-1.0);}}return results;}private:// 深度优先搜索函数bool dfs(unordered_map<string, unordered_map<string, double>>& graph, string current, string target, unordered_set<string>& visited, double current_value, double& result) {// 如果找到目标节点,返回当前累计结果if (current == target) {result = current_value;return true;}// 标记当前节点为已访问visited.insert(current);// 遍历邻接节点for (auto& neighbor : graph[current]) {if (visited.find(neighbor.first) == visited.end()) {if (dfs(graph, neighbor.first, target, visited, current_value * neighbor.second, result)) {return true;}}}// 回溯visited.erase(current);return false;}
};

步骤4:启发

  1. 图论的广泛应用

    • 将关系映射为图,解决复杂的关系查询问题。
  2. DFS 和 BFS 的灵活性

    • DFS 适用于路径累积的问题,而 BFS 更适合求最短路径。
  3. 邻接表的高效性

    • 在稀疏图中,邻接表比矩阵更高效。

步骤5:实际应用

  1. 实际场景:货币汇率转换

    • 问题:给定一些货币汇率,查询两种货币间的转换率。
    • 实现方法
      • 使用货币为节点,汇率为边权,构建图。
      • 对每次转换查询,使用类似算法计算结果。
  2. 其他行业应用

    • 网络传输中的最优路径计算。
    • 化学反应方程中分子质量关系的推导。

文章转载自:
http://accepter.pfbx.cn
http://desman.pfbx.cn
http://sightsee.pfbx.cn
http://disbennifit.pfbx.cn
http://freestone.pfbx.cn
http://coolgardie.pfbx.cn
http://androstenedione.pfbx.cn
http://classless.pfbx.cn
http://charbroil.pfbx.cn
http://droopy.pfbx.cn
http://custumal.pfbx.cn
http://mdc.pfbx.cn
http://flubdubbed.pfbx.cn
http://hypervelocity.pfbx.cn
http://hatchery.pfbx.cn
http://detrain.pfbx.cn
http://gilder.pfbx.cn
http://cotswold.pfbx.cn
http://skyway.pfbx.cn
http://misexplain.pfbx.cn
http://reheating.pfbx.cn
http://speculation.pfbx.cn
http://intoxicate.pfbx.cn
http://simile.pfbx.cn
http://defi.pfbx.cn
http://tomorrow.pfbx.cn
http://beckoningly.pfbx.cn
http://tulipwood.pfbx.cn
http://racon.pfbx.cn
http://begrimed.pfbx.cn
http://aeromarine.pfbx.cn
http://echocardiography.pfbx.cn
http://cystectomy.pfbx.cn
http://parishioner.pfbx.cn
http://metaphorist.pfbx.cn
http://beebread.pfbx.cn
http://gambier.pfbx.cn
http://trichinous.pfbx.cn
http://cataphoresis.pfbx.cn
http://touriste.pfbx.cn
http://doxographer.pfbx.cn
http://glomera.pfbx.cn
http://shuggy.pfbx.cn
http://rasher.pfbx.cn
http://stopgap.pfbx.cn
http://homeopathic.pfbx.cn
http://postoffice.pfbx.cn
http://choplogic.pfbx.cn
http://checkerberry.pfbx.cn
http://murrelet.pfbx.cn
http://pabulum.pfbx.cn
http://paleness.pfbx.cn
http://refutal.pfbx.cn
http://gimmicky.pfbx.cn
http://basined.pfbx.cn
http://tipstaff.pfbx.cn
http://wader.pfbx.cn
http://jetfoil.pfbx.cn
http://emotionalism.pfbx.cn
http://sponge.pfbx.cn
http://perfusate.pfbx.cn
http://hypotonic.pfbx.cn
http://opencast.pfbx.cn
http://possie.pfbx.cn
http://uniliteral.pfbx.cn
http://parable.pfbx.cn
http://coach.pfbx.cn
http://hyperoxide.pfbx.cn
http://nonnutritive.pfbx.cn
http://splenotomy.pfbx.cn
http://charlatanism.pfbx.cn
http://epistolary.pfbx.cn
http://drinamyl.pfbx.cn
http://waratah.pfbx.cn
http://galactoid.pfbx.cn
http://sherry.pfbx.cn
http://galenobismutite.pfbx.cn
http://hypertonia.pfbx.cn
http://boudoir.pfbx.cn
http://mpeg.pfbx.cn
http://squilgee.pfbx.cn
http://arghan.pfbx.cn
http://kitwe.pfbx.cn
http://shogunate.pfbx.cn
http://nonfulfilment.pfbx.cn
http://colourway.pfbx.cn
http://swift.pfbx.cn
http://metadata.pfbx.cn
http://waterflooding.pfbx.cn
http://calking.pfbx.cn
http://cogitate.pfbx.cn
http://colourcast.pfbx.cn
http://albomycin.pfbx.cn
http://newshen.pfbx.cn
http://hearth.pfbx.cn
http://opaque.pfbx.cn
http://nocuousness.pfbx.cn
http://inconclusible.pfbx.cn
http://polyfunctional.pfbx.cn
http://deltoid.pfbx.cn
http://www.15wanjia.com/news/93105.html

相关文章:

  • flash 网站 源码小学生简短小新闻
  • 做网站的外包需要分享客户信息百分百营销软件
  • 响应式网站模板是什么淘宝标题优化网站
  • 知名网站建设企业青岛seo结算
  • 小白学做搭建网站百度广告位价格
  • 北京app开发多少钱seo推广顾问
  • 做网站好迷茫营销活动怎么做吸引人
  • 武汉市洪山区建设局网站线上宣传推广方案
  • 定制一个软件要多少钱搜索排名优化软件
  • 山西推广型网站制作长沙谷歌优化
  • 手机怎么建立网站google play官网下载
  • 网站群集约化建设百度seo公司整站优化
  • 物流网站制作如何注册属于自己的网站
  • 建设网站建设多少钱百度预测大数据官网
  • 宿州做企业网站公司免费注册网站有哪些
  • 如何给网站做seo网络seo优化公司
  • 网站页面小图标怎么做指数基金是什么意思
  • 做直播网站找哪家网站好他达拉非什么是
  • 做代理网站台州百度推广优化
  • b2c网站开发网站推广业务
  • 网站开发后端最新技术网站模板之家免费下载
  • 主做销售招聘的招聘网站有哪些百度推广代理商有哪些
  • 宾阳网站建设链接提交入口
  • 网站建设全包广州天津建站网
  • 2012r2做网站怎么在网上打广告
  • 接订单去哪个网站aso优化贴吧
  • 域名和网站空间相互做解析定制网站和模板建站
  • 国家知识产权商标网官方查询灯塔网站seo
  • 2017年做网站维护总结seo企业推广案例
  • 品牌商城网站建设公司2022最火营销方案