ChatGPT+Mermaid Live Editor画流程图

news/2024/11/15 15:00:14/

1.粘贴代码通过gpt翻译成Mermaid代码,生成流程图

public int largestValsFromLabels(int[] values, int[] labels, int numWanted, int useLimit) {// 将元素按值从大到小排序PriorityQueue<int[]> pq = new PriorityQueue<>((a, b) -> b[0] - a[0]);for (int i = 0; i < values.length; i++) {pq.offer(new int[]{values[i], labels[i]});}// 维护每个标签已选择元素的数量Map<Integer, Integer> selected = new HashMap<>();// 维护子集 s 和其分数List<Integer> s = new ArrayList<>();int score = 0;while (!pq.isEmpty() && s.size() < numWanted) {int[] item = pq.poll();int v = item[0];int l = item[1];if (!selected.containsKey(l)) {selected.put(l, 0);}if (selected.get(l) < useLimit) {s.add(v);score += v;selected.put(l, selected.get(l) + 1);}}return score;
}

让chatGPT帮忙翻译代码

 接着让它转换成Mermaid代码

graph LR
A[开始] --> B[将元素按值从大到小排序]
B --> C[维护每个标签已选择元素的数量]
C --> D[维护子集 s 和其分数]
B --> E{是否还有未选择的元素?}
C --> E
D --> E
E --> F{已选择的元素个数是否达到 numWanted?}
E --> G{对应标签已选择元素数量是否达到 useLimit?}
G --> H[将该元素加入子集 s 并更新分数和对应标签已选择元素数量]
F --> I[返回子集 s 的分数]
H --> E

 打开Online FlowChart & Diagrams Editor - Mermaid Live Editor

粘贴Mermaid语法,生成流程图

2.我们说实现逻辑,gpt转换成 Mermaid语法代码,生成流程图

以consul的工作原理举例

  1. 当Producer启动的时候,会向Consul发送一个post请求,并向Consul传输自己的IP和Port。 2:Consul 接收到Producer的注册后,每隔10s(默认)会向Producer发送一个健康检查的请求,检验Producer是否健康。
  2. 当Consumer以Http的方式向Producer发起请求,会先从Consul中拿到一个存储服务IP和Port的临时表,从表中拿到Producer的IP和Port后再发送请求。
  3. 该临时表每隔10s会更新,只包含有通过了健康检查的Producer。 请帮我使用Mermaid生成流程图

Mermaid代码

graph TD;
A[Producer启动] -->|向Consul发送post请求|B(传输IP和Port);
B --> C(Consul接收注册);
C -->|每隔10s向Producer发送健康检查请求|D{Producer健康};
D -->|返回健康状态|C;
E[Consumer发起请求] -->|从Consul获取存储服务IP和Port的临时表|F(获取Producer IP和Port);
F --> G[向Producer发送请求];
C -->|更新临时表中的Producer列表|H((临时表));
H -->|每隔10s更新|C;

 生成流程图

3.数据库表E-R图【方向】

我们把数据库表给gpt,让他把这几张表按照我们的要求关联起来,让它画出e-r图(生成E-R图代码),我们粘贴到E-R图 工具或网站,生成E-R图

哎,当初毕设的时候要是有gpt,能省好多画图时间.......

总结

通过chatGPT 翻译代码 或 整理逻辑 生成流程图会有助于我们去理解代码和实现逻辑

同时能够帮我们节省画图时间,当然也有一些问题,它生成的Mermaid代码可能会有一些格式问题

比如加了中文逗号,直接粘贴到Mermaid Live Editor会报错,我们需要自行调整或者在输入实现逻辑的时候尽可能描述清楚,条理清晰一些。


http://www.ppmy.cn/news/93609.html

相关文章

【Java-Crawler】一文学会使用WebMagic爬虫框架

WebMagic 爬虫主要分为采集、处理、存储三个部分。 在学 WebMagic 框架之前&#xff0c;需要了解 HttpClient、Jsoup&#xff08;Java HTML Parse&#xff09; 库&#xff0c;或者说会他们的基本使用。因为 WebMagic 框架内部运用了他们&#xff0c;在你出现问题看源码去查错时…

算法第四版 Algorithms Part 1动态联通性

联通性检测用途 照片中的像素网络中的计算机社交网络中的朋友计算机芯片中的电路元器件数学集合中的元素Fortan程序中的变量复合体系中的金属位 假定已连接等价于 反身的: p与p本身是连接的.对称的: 如果p连接到q,那么q也链接到p传递的: 如果p连接到q并且q连接到r,那么p连接…

【C++11】C++11新增语法特性 右值引用/移动语义/完美转发

C11 右值引用 1 右值引用1.1 左值 、 右值1.2 左值引用 VS 右值引用1.3 谈谈C11引入右值引用的意义1.4 左值引用和右值引用的一些细节问题 2 移动语义3 完美转发4 总结 1 右值引用 1.1 左值 、 右值 在C中所有的值不是左值就是右值。左值是指表达式结束后依然存在的持久化对象…

太稳了,支付系统就该这么设计

支付中心系统对内为各个业务线提供统一的支付、退款等服务&#xff0c;对外对接三方支付或银行服务实现资金的流转。如下图&#xff1a; 大部分公司基本都是这样的架构&#xff0c;主要有以下几方面的优点&#xff1a; 形成统一支付服务&#xff0c;降低业务线接入成本及重复研…

行业报告 | AIGC应用与实践展望报告:人工智能重塑内容产业的作业模式

原创 | 文 BFT机器人 前言 Introduction 不可否认AIGC的出现似乎已经让大家预见了Al应用的拐点&#xff0c;其创造性与智能性一夜之间刷新了大众认知。但去伪存真&#xff0c;在市场火爆的背后其真正的应用及商业价值几何&#xff0c;更待我们冷静地剖析。 01 概念重生&#…

MySQL基础(三十七)主从复制

1. 主从复制概述 1.1 如何提升数据库并发能力 此外&#xff0c;一般应用对数据库而言都是“ 读多写少 ”&#xff0c;也就说对数据库读取数据的压力比较大&#xff0c;有一个思路就是采用数据库集群的方案&#xff0c;做 主从架构 、进行 读写分离 &#xff0c;这样同样可以提…

ChatGPT被广泛应用,潜在的法律风险有哪些?

ChatGPT由OpenAI开发&#xff0c;2022年11月一经面世便引发热烈讨论&#xff0c;用户数持续暴涨。2023年初&#xff0c;微软成功将ChatGPT接入其搜索引擎Bing中&#xff0c;市场影响力迅速提升&#xff0c;几乎同一时间&#xff0c;谷歌宣布其研发的一款类似人工智能应用Bard上…

[数据结构] AVL树的插入旋转 和 概念理解

文章目录 定义 && 性质定义性质 实现思路架构节点AVL树框架Insert&#xff08;插入&#xff09;左单旋右单旋左右双旋右左双旋 定义 && 性质 定义 二叉搜索树虽可以缩短查找的效率&#xff0c;但 如果数据有序或接近有序二叉搜索树将退化为单支树&#xff0c…