基环树
Go接口/空接口/接口断言
![thumbnail](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAABBJREFUeNpi+P//PwNAgAEACPwC/tuiTRYAAAAASUVORK5CYII=)
基环树指的是具备 n 个节点与 n 条边的连通图,存在并且仅存在一个环。 有关基环树的问题通常依照寻找环 -> 将环拆解为 n 棵子树,分别进行遍历 -> 单独对环上的各个点进行判断的顺序予以求解,以下述题目为例。 Problem - 7504 (hdu.edu.cn) 题目大意 给出一个基环树的n条边,求过每个点的最长简单路径长度。 …
在 Go 语言中,接口(interface)是一种类型,它定义了一组方法的集合。接口提供了一种方式来指定对象的行为,而无需关注对象的具体类型。接口的存在有以下几个重要意义: 多态性(Polymorphism):接口使得多态性成为可能。通过接口,可以创建具有不同底层类型但实现了相同接口的对象,然后使用相同的方式调用这些对象的方法。这种特性使得代码更加…
前两天受GitHub上的一个项目memos的启发,决定写一个笔记应用来练练手,检验以下flutter学习成果! 页面设计: 主页(展示标题和笔记列表) 设置页(没做) 关于页(几行字) 笔记详细展示页(标题及内容) 编辑/添加页 开始: 首先先写GetX的部分。明确要做的功能:添加/删除/编辑笔记,程序打开时读取本地存储,笔记发生修改时存储到本地。…
通过AI Proxy让Telegram机器人接入GPT
之前写了一个tg机器人,但是一直没有继续去写,所以他只会echo。最近觉得手机上使用GPT有些麻烦,于是决定让机器人接入GPT。经过了解发现OpenAI的官方API缺点如下: 只能用信用卡付款。 并发很低,一分钟只能调用几次。 假如服务器在国内就无法连接。 于是去寻找第三方API替代,最终找到了AI Proxy。(官网地址:AIProxy)看了下定…
Wrap是flutter里面的流排列组件,例如各大APP的搜索历史排列。 Wrap( children: [ const Chip(label: Text("Chip")), const SizedBox(width: 10), const Chip( label: Text("Chip"), avatar: Icon(Icons.add)…
四种常用按钮:普通/文字/外框/悬浮/图标 ElevatedButton(onPressed: () {}, child: const Text("Elevated Button")), const SizedBox(height: 10), TextButton(onPressed: () {}, child: const Text("Text …
网格GridView: count方法: GridView.count( crossAxisCount: 2,//列数 children: const [ Icon(Icons.ac_unit), Icon(Icons.airport_shuttle), Icon(Icons.all_inclusive), Icon(Icons.beach…
构造动态列表的方式: 定义全局列表: List l = [ { 'name': '雪', 'avatar': 'https://avatars.githubusercontent.com/u/42002296?v=4', }, { 'name': 'xue', 'avatar': 'https://avatars.githubusercon…
这篇比较水。 目前对Flutter布局的基本认知: 最外层:路由(还没学hh) 对于一个MaterialUI页面,可以包含Header,Bottom(或者叫Footer?),Body,侧边栏 五种最重要的容器:Container(单个容器),Column(垂直排列容器),Row(水平排列容器),以及列表/网格。Column+Row互相无限嵌套,形成…
这几天写Flutter,函数内设置属性,属性里套着构造函数,慢慢有点习惯面向对象的思维了。 细碎笔记: class MyButton extends StatelessWidget { const MyButton({super.key}); @override Widget build(BuildContext context) { return…