IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 【蓝桥杯day2】 -> 正文阅读

[数据结构与算法]【蓝桥杯day2】

题目1

题目描述

?解题代码:

import java.util.Scanner;
import java.util.*;

// 1:无需package
// 2: 类名必须Main, 不可修改

public class Main {
    private static final Scanner in = new Scanner(System.in);
    // private static List<int[]> edges =new ArrayList<>();
    private static List<int[]> edges = new ArrayList<>();

    public static void main(String[] args) {
        
        //在此输入您的代码...
    
        add('A','C',1);
        add('A','D',1);
        add('A','E',1);
        add('B','G',1);
        add('D','E',1);
        add('D','H',1);
        add('E','H',1);
        add('F','G',1);
        add('F','J',1);
        add('H','I',1);
        add('K','N',1);
        add('L','M',1);
        add('L','R',1);
        add('M','Q',1);
        add('M','S',1);
        add('N','P',1);
        add('O','P',1);
        add('O','Q',1);
        add('R','S',1);
        add('A','B',2);
        add('B','J',2);
        add('D','G',2);
        add('D','I',2);
        add('G','K',2);
        add('H','L',2);
        add('J','S',2);
        add('K','P',2);
        add('M','N',2);
        add('C','D',3);
        add('C','F',3);
        add('C','G',3);
        add('E','I',3);
        add('G','I',3);
        add('I','M',3);
        add('K','L',3);
        add('O','R',3);
int[] dist=new int[128];//asicc码值只有128个用来统计字符出现的次数
Arrays.fill(dist,Integer.MAX_VALUE>>1);
dist['A']=0;
int n=edges.size();
for(int i=0;i<n-1;i++){
  for(int[] edge:edges){
    int u=edge[0],v=edge[1],w=edge[2];
    dist[v]=Math.min(dist[v],dist[u]+w);
  }
}
System.out.println(dist['S']);

      
        
    }
      private static void add(char u,char v,int w){
          edges.add(new int[]{u,v,w});
          edges.add(new int[]{v,u,w});
        }
}

java语法复习:

1.static

?2.ArrayList求长度的方法为size(),添加元素的方法为add().

3.Arrays.fill(数组名,填充值)数组填充的方法,这里填充的是Interger.MAX_VALUE>>1,因为要加上边值,避免溢出。

算法思想:

第一次遇上最短路径问题,这个方法是Bellman–Ford?算法,其主要思想就是松弛,循环n-1次(n为点数)每次松弛找出除出发点以外的其他点离出发点的最短距离,更新n-1次得到所有点离出发点的最短距离。

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-02-28 15:50:37  更:2022-02-28 15:51:46 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 16:46:45-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码