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

上海建设银行网站莘庄免费开网站

上海建设银行网站莘庄,免费开网站,微信公众号免费模板网站,网站产品图怎么做给你一个变量对数组 equations 和一个实数值数组 values 作为已知条件#xff0c;其中 equations[i] [Ai, Bi] 和 values[i] 共同表示等式 Ai / Bi values[i] 。每个 Ai 或 Bi 是一个表示单个变量的字符串。 另有一些以数组 queries 表示的问题#xff0c;其中 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 20equations[i].length 21 Ai.length, Bi.length 5values.length equations.length0.0 values[i] 20.01 queries.length 20queries[i].length 21 Cj.length, Dj.length 5Ai, Bi, Cj, Dj 由小写英文字母与数字组成 步骤1定义题目问题性质 问题性质 输入 equations: 包含已知等式的字符串对列表如 [[a, b], [b, c]]。values: 对应每个等式的值列表如 [2.0, 3.0]。queries: 包含待求解问题的字符串对列表如 [[a, c], [b, a]]。输出 对于每个问题返回相应的结果。无法确定的结果返回 -1.0。 限制条件 1 equations.length, queries.length 20每个变量由小写字母和数字组成长度在 [1, 5] 范围内。保证无除数为 0 的情况无矛盾结果。 潜在边界条件 查询中涉及未定义变量时应返回 -1.0。对变量自身的查询如 [a, a]结果恒为 1.0。可能出现循环关系如 a/b 2.0 和 b/a 0.5。 步骤2算法设计和步骤 此问题本质上是一个 图论问题 每个变量是图的一个节点。每个等式表示节点之间的边边权重是等式的值。 解决方法使用 Floyd-Warshall 算法或 DFS/BFS 构建和查询图。 图的构建 使用邻接表表示图存储节点和边权。将等式 a / b k 转化为两条边 a - b权重为 k。b - a权重为 1/k。 查询处理 如果两个节点之间有路径通过图的边权相乘计算结果。如果两个节点之间无路径返回 -1.0。 算法步骤 步骤1构建图。步骤2使用深度优先搜索DFS处理每个查询 维护访问记录以防止无限循环。在路径上累积结果如果找到目标节点返回结果。步骤3将结果存入列表并返回。 时间复杂度分析 图构建O(E)其中 E 是等式数量。每次查询O(V E)使用 DFS 遍历图。总体复杂度O(E Q * (V E))Q 是查询数量。 步骤3详细C代码 class Solution { public:vectordouble calcEquation(vectorvectorstring equations, vectordouble values, vectorvectorstring queries) {// 用邻接表表示图unordered_mapstring, unordered_mapstring, 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;}// 结果数组vectordouble 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_setstring 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_mapstring, unordered_mapstring, double graph, string current, string target, unordered_setstring 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启发 图论的广泛应用 将关系映射为图解决复杂的关系查询问题。 DFS 和 BFS 的灵活性 DFS 适用于路径累积的问题而 BFS 更适合求最短路径。 邻接表的高效性 在稀疏图中邻接表比矩阵更高效。 步骤5实际应用 实际场景货币汇率转换 问题给定一些货币汇率查询两种货币间的转换率。实现方法 使用货币为节点汇率为边权构建图。对每次转换查询使用类似算法计算结果。 其他行业应用 网络传输中的最优路径计算。化学反应方程中分子质量关系的推导。
http://www.dnsts.com.cn/news/222512.html

相关文章:

  • 在哪个网站做流动补胎的广告好万能素材网站下载
  • 渭南哪家公司可以做网站网站频道规划
  • wordpress 4.9 多站wordpress创意博客
  • 农业电商网站建设方案玩具租赁系统网站开发与实现
  • 网站建设与管理 市场分析免费下载应用软件
  • 浦东新区手机网站设计优秀购物网站
  • 网站开发案例电子书3d建模设计
  • 什么是网站开发流程导购网站自己做电商
  • 购物网站怎么做有哪些做红色旅游景点的网站
  • 做餐饮的网站建设网站培训学校
  • 质感设计网站空调网站模板
  • 网站设计公司成都销售网站建设公司
  • 手机版网站快照如何做网站建设宀金手指花总十五
  • 一个网站是怎么做出来的尤溪住房和城乡建设局网站
  • 网站的栏目结构简图怎么做新手想开网店怎么开
  • 为什么做动漫短视频网站怎么推广自己做的网站
  • 全运网站的建设合肥网站建站报广告代理
  • 公司网站的建设sirna在线设计网站
  • 哈尔滨seo网站管理wordpress发文章api
  • 网站备案名称重复免费网站服务器2020
  • 网站建设需要提供哪些信息专业制作ppt
  • 网站维护服务费网站备案幕布照片尺寸
  • 北京网站制作网络推广公司wordpress图片实现下一篇文章
  • 做网站素材在哪里找天下网商自助建站系统
  • 六安市建设网站市场信息价在线制作海报网站
  • 江西工程建设信息网站东城网站制作公司
  • 小说网站怎么做防采集net网站开发是什么
  • 广告牌图片100例关键词推广seo
  • 比较好的室内设计网站广东省东莞阳光网
  • 医院网站优化策划网站开发客户提供素材