leetcode 二叉树的最小深度

给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明:叶子节点是指没有子节点的节点。 示例 1: 输入:root = [3,9,20,null,null,15,7] 输出:2 示例 2: 输入:root = [2,null,3,null,4,null,5,

网络协议的重要性与应用:理解进程间通信和网络分层结构(上)

学习网络协议的关键是了解其分层结构。在计算机网络中,我们使用的是OSI标准模型和TCP/IP网络模型。这些模型将网络通信划分为多个层级,每个层级都有不同的功能和作用。在本章节中,我们主要讲解了TCP/IP网络模型的前三层:应用层、传输层和网络层。后面的数据链路层和物理层将在下一篇文章中进行详细讲解

leetcode 平衡二叉树

给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。 示例 1: 输入:root = [3,9,20,null,null,15,7] 输出:true 示例 2: 输入:root = [1,2,2,3,3,

【matplotlib基础】--手绘风格

Matplotlib 中有一个很有趣的手绘风格。如果不是特别严肃的分析报告,使用这个风格能给枯燥的数据分析图表带来一些活泼的感觉。 使用手绘风格非常简单,本篇主要手绘风格的效果以及如何配置中文的支持。 1. 中文支持 Matplotlib 的手绘风格默认是不支持中文的,中文在图形中会显示成方格子。如

软件设计模式系列之七——原型模式

原型模式(Prototype Pattern)是一种创建型设计模式,其主要目的是通过复制现有对象来创建新对象,而不是使用构造函数。原型模式将对象的创建委托给原型对象,通过克隆(复制)来生成新对象,这种方式可以避免对象的重复初始化,提高性能,并使对象的创建更加灵活和动态。

[转帖]060-轻量级基于curl的seafile上传脚本

https://anjia0532.github.io/2021/04/07/seafile-client-curl/ 这是坚持技术写作计划(含翻译)的第 60 篇,定个小目标 999,每周最少 2 篇。 本文主要讲解利用 bash 脚本在 linux 通过命令行上传文件到 seafile 服务器

Llama2-Chinese项目:2.2-大语言模型词表扩充

因为原生LLaMA对中文的支持很弱,一个中文汉子往往被切分成多个token,因此需要对其进行中文词表扩展。思路通常是在中文语料库上训练一个中文tokenizer模型,然后将中文tokenizer与LLaMA原生tokenizer进行合并,最终得到一个扩展后的tokenizer模型。国内Chinese

Llama2-Chinese项目:2.1-Atom-7B预训练

虽然Llama2的预训练数据相对于第一代LLaMA扩大了一倍,但是中文预训练数据的比例依然非常少,仅占0.13%,这也导致了原始Llama2的中文能力较弱。为了能够提升模型的中文能力,可以采用微调和预训练两种路径,其中: 微调需要的算力资源少,能够快速实现一个中文Llama的雏形。但缺点也显而易见,

python | 连接数据库

介绍一些python中用于连接常用数据库的依赖库。 SQLite3 SQLite3是Python 中自带的数据库模块,适用于小型应用和快速原型开发。 SQLite是一个进程内的库,实现了自给自足的、无服务器的、是非常小的,是轻量级的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,不需要在系统

用Rust手把手编写一个Proxy(代理), 准备篇, 动手造轮子

用Rust手把手编写一个Proxy(代理), 准备篇, 动手造轮子 wmproxy 将实现http/https代理, socks5代理, 后续将实现websocket代理, 内外网穿透等, 会将实现过程分享出来, 希望感兴趣的可以一起参与参与 项目 ++wmproxy++ gite: https:/

基于间隔密度的概念漂移检测算法mdm-DDM

概念漂移 ​ 概念漂移是数据流挖掘领域中一个重要的研究点。传统的机器学习算法在操作时通常假设数据是静态的,其数据分布不会随着时间发生变化。然而对于真实的数据流来说,由于数据流天生的时间性,到达的数据的分布可能会随着时间的推移不断改变。这使得传统的批处理模型不适合对数据流的进行挖掘分析,模型更是需要有

python入门基础(13)--类、对象、全局函数,类内部调用

面向过程的编程语言,如C语言,所使用的数据和函数之间是没有任何直接联系的,它们之间是通过函数调用提供参数的形式将数据传入函数进行处理。 但可能因为错误的传递参数、错误地修改了数据而导致程序出错,甚至是崩溃。当需要修改或维护程序时要从程序提供的一堆数据中去寻找和修改它,要扩展函数的功能,只能重新建立一

零拷贝并非万能解决方案:重新定义数据传输的效率极限

本文讨论了零拷贝在优化数据传输效率方面的局限性。尽管零拷贝技术在减少数据传输过程中的内存拷贝次数方面有很大的优势,但它并非适用于所有情况。文章介绍了一些其他的优化方法,如异步I/O和直接I/O的组合、根据文件大小选择不同的优化方式。至此,我们的计算机基础专栏就结束了,不知道大家有没有发现,操作系统底层提供了丰富的解决方案来支持应用程序的复杂性和可扩展性。对于任何工作中遇到的问题,我们都可以从操作系统的角度寻找解决方法。

C++20起支持的一个小特性

注释掉的为传统的写法,从C++20起支持default关键字修饰的写法,即使是成员变量有多个的时候也支持,减轻了程序员的心智负担。

Avalonia开发(一)环境搭建

一、介绍 开源 GitHub:https://github.com/AvaloniaUI/Avalonia/ 多平台支持,包括Windows、mac OS、Linux、iOS、Android、Samsung Tizen(很快支持)、WebAssembly IDE支持,Visual Studio扩展支

GIS中的ROI文件可否由.xml格式转为.roi格式?

本文介绍在ENVI软件中,将用户自行绘制的.xml格式的感兴趣区(ROI)文件转换为.roi格式的方法~

MySQL 表分区简介

MySQL表分区是一种数据库管理技术,用于将大型表拆分成更小、更可管理的分区(子表)。每个分区可以独立进行维护、备份和查询,从而提高数据库性能和管理效率。以下是详细介绍MySQL表分区的步骤和注意事项: 步骤1:选择分区列 首先,你需要选择一个适当的列作为分区键(Partition Key),根据这

从事软件开发工作的一些感悟

对于计算机这个行业,我一直有着浓厚的兴趣,这份兴趣驱使我不断学习,不断成长。在这篇文章中,我将分享我的编程经历以及一些建议,希望能够给那些刚刚踏入编程领域的人一些启发。

贝塞尔曲线文字路径

译者注 这篇文章原本是之前翻译 《曲线艺术编程》系列第八章--贝塞尔曲线一章中引用的内容 作者提到过知识点可参考这篇文章以及优化和线性插值所以我也时分想仔细看一篇 在当时其实打开看过一眼,其中有看到导数部分,当时就怕翻译错了,所以我回头抽空复习了一下数学的导数部分。说实话,毕业后的工作与生活中从未用

[转帖]mysql - 使用文件中的 mysql 加载数据格式化 csv 日期列

https://www.coder.work/article/2481907#:~:text=LOAD%20DATA%20INFILE%20%27%2Finvoices%2Finvoice1381301986.csv%27%20INTO%20TABLE%20invoice_table%20FIELD