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

自己电脑做服务器发布网站2345网址导航电脑版

自己电脑做服务器发布网站,2345网址导航电脑版,ps网站首页怎么设计,设计师培训体系https://leetcode.cn/problems/evaluate-division/description/?envTypestudy-plan-v2&envIdtop-interview-150思路:读完题后我们可以发现这题的考察已经很明确了就是考我们矩阵,我们将矩阵构建出来后,这题就变成可达性分析题了。 所以解…
https://leetcode.cn/problems/evaluate-division/description/?envType=study-plan-v2&envId=top-interview-150

思路:读完题后我们可以发现这题的考察已经很明确了就是考我们矩阵,我们将矩阵构建出来后,这题就变成可达性分析题了。
所以解题步骤就是:1.构建矩阵 2.递归判断是否可达

class Solution {public double[] calcEquation(List<List<String>> equations, double[] values, List<List<String>> queries) {// 处理所有出现的运算数int cnt = 0;HashMap<String, Integer> ch = new HashMap<>();for(int i = 0; i < equations.size(); i++) {String num1 = equations.get(i).get(0);String num2 = equations.get(i).get(1);if(!ch.containsKey(num1)) {ch.put(num1, cnt++);}if(!ch.containsKey(num2)) {ch.put(num2, cnt++);}}// 填充矩阵double[][] matrix = new double[cnt][cnt];for(int i = 0; i < equations.size(); i++) {String num1 = equations.get(i).get(0);String num2 = equations.get(i).get(1);matrix[ch.get(num1)][ch.get(num2)] = values[i];matrix[ch.get(num2)][ch.get(num1)] = 1.0 / values[i];}double[] res = new double[queries.size()];for(int i = 0; i < queries.size(); i++) {String num1 = queries.get(i).get(0);String num2 = queries.get(i).get(1);if(!ch.containsKey(num1) || !ch.containsKey(num2)) { // 如果出现没有出现的运算数,则直接返回-1res[i] = -1.0;} else { // 递归寻找可达路径// 标记某点是否到达过boolean[] signed = new boolean[cnt];signed[ch.get(num1)] = true;double sum = 1;res[i] = dfs(matrix, ch.get(num1), ch.get(num2), signed);}}return res;}public double dfs(double[][] matrix, int i, int j, boolean[] signed) {if(matrix[i][j] != 0) { // 如果可达,则直接返回结果return matrix[i][j];}double sum = 1;for(int k = 0; k < matrix.length; k++) {if(matrix[i][k] != 0 && !signed[k]) { // 如果可达且未到达过signed[k] = true;double dd = dfs(matrix, k, j, signed); // 递归寻找可达路径if(dd != -1) { // 如果可达就乘上权重sum *= matrix[i][k] * dd;return sum;}}}// 遍历所有情况没有找到可达路径就返回-1return -1;}public static void main(String[] args) {List<List<String>> equations = new ArrayList<>();equations.add(new ArrayList<>(List.of("x1","x2")));equations.add(new ArrayList<>(List.of("x2","x3")));equations.add(new ArrayList<>(List.of("x3","x4")));equations.add(new ArrayList<>(List.of("x4","x5")));double[] values = {3.0,4.0,5.0,6.0};List<List<String>> queries = new ArrayList<>();queries.add(new ArrayList<>(List.of("x1","x5")));queries.add(new ArrayList<>(List.of("x5","x2")));queries.add(new ArrayList<>(List.of("x2","x4")));queries.add(new ArrayList<>(List.of("x2","x2")));queries.add(new ArrayList<>(List.of("x2","x9")));queries.add(new ArrayList<>(List.of("x9","x9")));System.out.println(Arrays.toString(new Solution().calcEquation(equations, values, queries)));}
}

http://www.dtcms.com/wzjs/126860.html

相关文章:

  • 个人交互网站百度网盘下载速度
  • 银川哪家网络公司做网站做得好2022年时事政治热点汇总
  • wordpress栏目指定二级域名桂林seo排名
  • ui是做网站的吗百度下载应用
  • 在大网站做网页广告需要多少钱企业邮箱注册申请
  • 新乡 网站建设站长seo
  • 英文介绍做美食视频网站it培训机构哪个好一点
  • 黄页网页的推广免费seo技术教程
  • 水墨风格 网站品牌网络推广
  • 武汉网站建设网站推广常州seo外包公司
  • cms网站是什么意思营销型网站分析
  • 网站开发代理报价表头条今日头条
  • 北京市工程信息网放心网站推广优化咨询
  • 黑群辉建设个人网站站长域名查询工具
  • 外贸企业做网站百度指数预测
  • 做动态网站必学网络建站优化科技
  • 家政服务网站建设站内推广方式
  • wordpress建站网页无法运自贡网站seo
  • 国旗做网站按钮违法吗百度最新秒收录方法2023
  • 做网站都去哪里找模板我是站长网
  • 做网站有什么要求吗下载班级优化大师
  • 电商商城网站开发深圳网络优化seo
  • wordpress 清空修订版本网站建设优化推广系统
  • 网站建设验收方式怎么在百度制作自己的网站
  • 邢台网站建设企业seo研究中心vip课程
  • 用wordpress建立专业网站视频教程新闻头条今日要闻军事
  • 网站建设与实践高自考山西seo推广
  • b2b电子商务平台是什么网站怎么优化排名靠前
  • 房屋设计装修网站推广产品引流的最佳方法
  • 制作网站地图seo如何提高网站排名