LeetCode Hot100 (1/100)
目录
一、有关数组和动态数组的排序(sort函数)
1.普通数组的排序
基本用法
降序排序
2.vector的排序
基本用法
降序排序
二、数组长度和一些vector的基本语法
1. 静态数组长度计算
2. 安全获取数组长度(C++17 起)
3.vector 基本语法
3.1 声明与初始化
3.2 常用操作
3.3数组转换成vector
三、列表初始化
1. 基础概念
2. 常见场景
3. 底层原理
4.return 时的列表初始化
4.1. 直接返回列表
4.2 对比传统写法
5.特殊场景处理
5.1 返回空容器
5.2 返回嵌套结构
6.注意事项
6.1类型匹配
6.2 函数返回类型必须明确
题目1----两数之和
1.空模板解析
2.实际后台运行版本
3.哈希表
3.1 unordered_map
1. 核心特性
2. 常用函数(表格)
3. 代码用法示例
3.2 unordered_set
1. 核心特性
2. 常用函数(表格)
3. 代码用法示例
4.题解
一、有关数组和动态数组的排序(sort函数)
1.普通数组的排序
基本用法
#include <algorithm> // 必须包含的头文件int main() {int arr[] = {5, 3, 9, 1, 7};int n = sizeof(arr) / sizeof(arr[0]); // 计算数组长度// 默认升序排序(从小到大)std::sort(arr, arr + n); // 参数为指针范围:[arr, arr + n)// 输出结果:1 3 5 7 9return 0;
}
降序排序
#include <algorithm>
#include <functional> // 需要包含此头文件以使用 greater<>int main() {int arr[] = {5, 3, 9, 1, 7};int n = sizeof(arr) / sizeof(arr[0]);// 使用 greater<int>() 降序排序std::sort(arr, arr + n, std::greater<int>());// 输出结果:9 7 5 3 1return 0;
}
2.vector的排序
基本用法
#include <algorithm>
#include <vector>int main() {std::vector<int> vec = {5, 3, 9, 1, 7};// 默认升序排序std::sort(vec.begin(), vec.end()); // 参数为迭代器范围// 输出结果:1 3 5 7 9return 0;
}
降序排序
#include <algorithm>
#include <vector>
#include <functional>int main() {std::vector<int> vec = {5, 3, 9, 1, 7};// 降序排序std::sort(vec.begin(), vec.end(), std::greater<int>());// 输出结果:9 7 5 3 1return 0;
}
二、数组长度和一些vector的基本语法
1. 静态数组长度计算
int arr[] = {3, 1, 4, 1, 5, 9};
int length = sizeof(arr) / sizeof(arr[0]); // 计算元素个数
数组作为函数参数传递时会退化为指针,此时 sizeof(arr)
返回指针大小而非数组大小
错误示例:
void func(int arr[]) {int len = sizeof(arr)/sizeof(arr[0]); // 错误!返回指针大小/元素大小的比值
}
2. 安全获取数组长度(C++17 起)
#include <iterator>
int arr[] = {1, 2, 3};
int length = std::size(arr); // 直接获取数组长度(需C++17及以上)
3.vector 基本语法
3.1 声明与初始化
语法 | 说明 | 示例 |
---|---|---|
默认初始化 | 创建空 vector | vector<int> v1; |
列表初始化 | 直接初始化元素 | vector<int> v2 = {1, 2, 3}; |
指定大小和值 | 创建含 n 个 val 的 vector | vector<int> v3(5, 10); // 5个10 |
拷贝初始化 | 复制另一个 vector | vector<int> v4(v3); |
3.2 常用操作
操作 | 语法 | 说明 |
---|---|---|
添加元素 | push_back(val) | 在末尾插入元素 |
访问元素 | v[i] 或 v.at(i) | 下标访问(at() 会检查边界) |
获取大小 | v.size() | 返回元素个数 |
判断空 | v.empty() | 返回是否为空 |
清空元素 | v.clear() | 移除所有元素 |
调整大小 | v.resize(n, val) | 调整大小为 n ,新增元素初始化为 val |
3.3数组转换成vector
int arr[] = {5, 2, 8};
vector<int> v(arr, arr + sizeof(arr)/sizeof(arr[0]));
三、列表初始化
1. 基础概念
列表初始化使用 花括号 {}
初始化对象,是 C++11 引入的统一初始化语法,适用于所有类型。
2. 常见场景
场景 | 示例 | 等效传统写法 |
---|---|---|
初始化变量 | vector<int> v = {1, 2, 3}; | vector<int> v; v.push_back(1); ... |
函数返回值 | return {i, j}; | return vector<int>{i, j}; |
构造函数参数 | pair<int, string> p{5, "test"}; | pair<int, string> p(5, "test"); |
3. 底层原理
- 编译器会尝试将
{}
中的内容转换为目标类型的initializer_list
。 - 对
vector
来说,内部定义了接受initializer_list
的构造函数:
4.return
时的列表初始化
4.1. 直接返回列表
vector<int> twoSum(...) {return {i, j}; // 隐式构造 vector<int> 对象
}
等效代码:
vector<int> temp;
temp.push_back(i);
temp.push_back(j);
return temp;
4.2 对比传统写法
写法 | 性能 | 可读性 |
---|---|---|
return {i, j}; | ✅ 更优(直接构造) | ✅ 简洁 |
return vector<int>{i, j}; | ✅ 相同 | ❌ 冗余 |
vector<int> res; ... return res; | ❌ 可能拷贝 | ❌ 冗长 |
5.特殊场景处理
5.1 返回空容器
return {}; // 返回空 vector,等效 return vector<int>();
5.2 返回嵌套结构
vector<pair<int, int>> func() {return {{1, 2}, {3, 4}}; // 列表初始化嵌套结构
}
6.注意事项
6.1类型匹配
// 错误示例:列表元素类型不匹配
vector<string> v = {1, 2}; // int 无法隐式转为 string
6.2 函数返回类型必须明确
auto func() { // 错误:无法推导返回类型return {1, 2};
}
vector<int> func() { // 正确return {1, 2};
}
题目1----两数之和
1.空模板解析
// 头文件(通常在LeetCode平台已隐式包含,但本地编译需手动添加)
// #include <vector>
// using namespace std;// 定义解决方案类(LeetCode答题标准模板)
class Solution {
public: // 访问权限修饰符,表示以下成员对外公开(LeetCode需要调用该函数)// 定义名为twoSum的成员函数// 参数说明:// vector<int>& nums → 整型向量的引用(避免拷贝整个数组)// int target → 整型目标值// 返回值:vector<int> → 包含两个索引的向量vector<int> twoSum(vector<int>& nums, int target) {// 函数实现区(需补全)return {}; // 无解时返回空向量(题目保证有解时可省略)*/}/* 关键语法说明:1. vector<int>& → 引用传递参数,直接操作原数组(避免拷贝)2. nums.size() → 获取向量元素数量(等效于数组长度)3. {i, j} → C++11统一初始化,等价于 vector<int>{i, j}};
2.实际后台运行版本
#include <iostream>
#include <vector>
using namespace std;class Solution {
public:vector<int> twoSum(vector<int>& nums, int target) {for (int i = 0; i < nums.size(); ++i) {for (int j = i + 1; j < nums.size(); ++j) {if (nums[i] + nums[j] == target) {return {i, j};}}}return {}; // 实际题目保证有解,此句仅为编译通过}
};// 测试用例
int main() {vector<int> nums = {2, 7, 11, 15};int target = 9;Solution sol;vector<int> res = sol.twoSum(nums, target);cout << "[" << res[0] << ", " << res[1] << "]" << endl; // 输出 [0, 1]return 0;
}
3.哈希表
在 C++ 中,哈希表主要通过 unordered_map
(键值对)和 unordered_set
(唯一键集合)实现
特性 | unordered_map | unordered_set |
---|---|---|
存储内容 | 键值对(key-value ) | 唯一值(value ) |
查找依据 | 键(key ) | 值本身(value ) |
典型应用场景 | 需要快速通过键访问值的场景 | 需要快速判断元素是否存在的场景 |
哈希表原理:
哈希表实现:哈希表C++哈希表详解(知识点+相关LeetCode题目)-CSDN博客
3.1 unordered_map
1. 核心特性
- 存储键值对(
key-value
),键唯一 - 基于哈希表实现,查找时间复杂度平均为 O(1)
- 无序存储(元素顺序与插入顺序无关)
2. 常用函数(表格)
函数/操作 | 说明 | 时间复杂度 |
---|---|---|
unordered_map<K, V> map; | 初始化空哈希表 | O(1) |
map[key] = value; | 插入或修改键值对(若 key 存在则覆盖) | 平均 O(1) |
map.insert({key, value}); | 插入键值对(若 key 存在则不插入) | 平均 O(1) |
map.find(key) | 返回指向键的迭代器(若不存在返回 end() ) | 平均 O(1) |
map.count(key) | 返回键存在的次数(0 或 1) | 平均 O(1) |
map.erase(key) | 删除指定键的键值对 | 平均 O(1) |
map.size() | 返回元素个数 | O(1) |
map.empty() | 判断哈希表是否为空 | O(1) |
3. 代码用法示例
#include <unordered_map>
#include <iostream>
using namespace std;int main() {// 初始化unordered_map<string, int> scores = {{"Alice", 90}, {"Bob", 85}};// 插入元素scores["Charlie"] = 88; // 方式1:operator[]scores.insert({"David", 95}); // 方式2:insert// 访问元素cout << "Alice的分数: " << scores["Alice"] << endl; // 直接访问if (scores.find("Eve") != scores.end()) { // 安全访问cout << "Eve存在" << endl;}// 删除元素scores.erase("Bob");// 遍历for (const auto& pair : scores) {cout << pair.first << ": " << pair.second << endl;}return 0;
}
3.2 unordered_set
1. 核心特性
- 存储唯一元素(无重复值)
- 基于哈希表实现,查找时间复杂度平均为 O(1)
- 无序存储
2. 常用函数(表格)
函数/操作 | 说明 | 时间复杂度 |
---|---|---|
unordered_set<T> set; | 初始化空集合 | O(1) |
set.insert(value); | 插入元素(若存在则不插入) | 平均 O(1) |
set.find(value) | 返回指向元素的迭代器(若不存在返回 end() ) | 平均 O(1) |
set.count(value) | 返回元素存在的次数(0 或 1) | 平均 O(1) |
set.erase(value) | 删除元素 | 平均 O(1) |
set.size() | 返回元素个数 | O(1) |
set.empty() | 判断集合是否为空 | O(1) |
3. 代码用法示例
#include <unordered_set>
#include <iostream>
using namespace std;int main() {// 初始化unordered_set<int> primes = {2, 3, 5, 7};// 插入元素primes.insert(11);primes.insert({13, 17}); // 插入多个元素// 查询元素if (primes.count(5) > 0) {cout << "5是质数" << endl;}// 删除元素primes.erase(7);// 遍历for (const auto& num : primes) {cout << num << " ";}return 0;
}
4.题解
class Solution {
public:vector<int> twoSum(vector<int>& nums, int target) {//两个for循环复杂度也就 n方// for(int i=0;i<nums.size();i++)
// for(int j=i+1;j<nums.size();j++)
// {
// if(nums[i]+nums[j]==target) return {i,j};
// }//哈希表,注意题目里的可以按任意顺序返回答案,其实有暗示的意思unordered_map<int,int> m;
//由于不知道这两个数是那两个数,一种方法是把数组全部先放到哈希表里,然后遍历哈希表(麻烦)
// 可以每次往哈希表里插入的时候,就检查一下,前面插入的数有没有匹配的(检查的复杂度为1)for(int i=0;i<nums.size();i++)
{if (m.find((target-nums[i]))!=m.end()) return {m[target-nums[i]],i};else{m[nums[i]]=i;}
}return {};}
};
相关文章:
LeetCode Hot100 (1/100)
目录 一、有关数组和动态数组的排序(sort函数) 1.普通数组的排序 基本用法 降序排序 2.vector的排序 基本用法 降序排序 二、数组长度和一些vector的基本语法 1. 静态数组长度计算 2. 安全获取数组长度(C17 起) 3.vecto…...
LeetCode热题100--234.回文链表--简单
1. 题目 给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。 示例 1: 输入:head [1,2,2,1] 输出:true 示例 2: 输入…...
Java—接口和抽象类
一、接口 Java 接口(Interface) 是面向对象编程中用于定义行为规范的核心机制。接口通过抽象方法约定“能做什么”,而不关心“如何做”,从而实现多态和代码解耦。 1.1 接口的特点 接口用interface定义接口中全为抽象方法默认用p…...
CycleISP: Real Image Restoration via Improved Data Synthesis通过改进数据合成实现真实图像恢复
摘要 大规模数据集的可用性极大释放了深度卷积神经网络(CNN)的潜力。然而,针对单图像去噪问题,获取真实数据集成本高昂且流程繁琐。因此,图像去噪算法主要基于合成数据开发与评估,这些数据通常通过广泛假设…...
算法题(146):最大子段和
、 审题: 本题需要我们找到给定数组中子段之和和最大的sum值 思路: 方法一:暴力解法 我们可以使用双层for循环,第一层循环负责遍历每一个数组元素,然后分别以他们为子段起点,第二层循环从第一层循环的索引开…...
centos6.10在Macbook m芯片上使用
非常好!用 CentOS 6.10 替代 6.4 是一个明智的选择 ✅,原因如下: ⸻ ✅ 为什么选 CentOS 6.10 更好 对比项 CentOS 6.4 CentOS 6.10 发布年份 2013 年 2018 年(CentOS 6 系列最终版) 内核版本 2.6.32-358 2.6.32-75…...
OA 系统办公自动化包含哪些内容,关键功能模块与操作要点说明
在企业数字化转型浪潮中,OA 系统常被片面认知为请假审批、文件收发的工具,未能发挥其核心价值。部分企业引入 OA 后,出现员工抵触、流程卡顿、系统闲置等问题,根源在于对其功能定位模糊、应用模式僵化,导致无法实现预期…...
AI智能体的现状和应用前景
AI智能体的现状 AI智能体(AI Agents)是指能够感知环境、做出决策并执行任务的智能系统。它们通常结合了机器学习、自然语言处理、计算机视觉等技术,能够在复杂环境中自主运行。目前,AI智能体已经在多个领域取得了显著进展。 在工业领域,AI智能体被用于自动化生产线、质量…...
操作系统实验 实验3 存储器分配与回收
1.实验目的 了解动态分区分配方式中使用的数据结构和分配算法,并进一步加深动态分区存储管理方式及其实现过程的理解。 2.实验要求 用C语言实现首次适应算法的动态分区分配过程alloc()和回收过程free()。 一、实验内容: 1.实验内容 用C语言实…...
408考研逐题详解:2009年第13题
2009年第13题 浮点数加、减运算过程一般包括对阶、尾数运算、规格化、舍入和判溢出等步骤。设浮点数的阶码和尾数均采用补码表示,且位数分别为 5 位和 7 位(均含 2 位符号位)。若有两个数 X 2 7 29 / 32 X2^7\times29/32 X2729/32, Y 2 …...
什么是虚拟同步发电机
虚拟同步发电机(Virtual Synchronous Generator, VSG) 是一种基于电力电子技术的先进控制策略,通过模拟传统同步发电机的机电特性和动态行为,使逆变器或储能系统能够像传统发电机一样为电网提供惯性支撑、频率调节和电压稳定性支持…...
性能比拼: Linkerd vs. Istio
本内容是对知名性能评测博主 Anton Putra Linkerd vs. Istio (Rust vs. C) performance benchmark 内容的翻译与整理, 有适当删减, 相关指标和结论以原作为准 在本内容中,我们将对比 Kubernetes 服务网格中的 Istio 和 Linkerd。 相关代码详见 github 我们将运行…...
FPGA: Xilinx Kintex 7实现PCIe接口
在Xilinx Kintex-7系列FPGA上实现PCIe(Peripheral Component Interconnect Express)接口,通常使用Xilinx提供的7 Series Integrated Block for PCIe IP核,结合Vivado设计流程。以下是实现PCIe接口的详细步骤和关键点,适…...
《Effective Python》第2章 字符串和切片操作——Python 字符串格式化的现代选择f-strings
引言 本篇博客基于学习《Effective Python》第三版 Chapter 2: Strings and Slicing 的 Item 11 “Prefer Interpolated F-Strings Over C-style Format Strings and str.format” 的总结与延伸。 字符串格式化是 Python 编程中的常见操作,用于动态生成可读性高的…...
vue 去掉右边table的下拉条与下面的白色边框并补充满
::v-deep table {width: 100% !important; } ::v-deep .el-table::after, .el-table::before {display: none !important; }/* 隐藏滚动条但保留滚动功能 */ ::v-deep .el-table__body-wrapper::-webkit-scrollbar {width: 0 !important;height: 0 !important; }::v-deep .el-t…...
RabbitMq消息阻塞,立即解决方案
如果目前你的 RabbitMQ 消费者 被卡住不再消费消息,且消息已经到达消费者绑定队列,但Spring Cloud Stream 没有继续触发 StreamListener 的方法执行。这类问题一般是因为消费者线程阻塞或消息被 RabbitMQ 拒绝投递。我们可以按照下面的步骤紧急处理&…...
单片机-STM32部分:14、SPI
飞书文档https://x509p6c8to.feishu.cn/wiki/VYYnwOc9Zi6ibFk36lYcPQdRnlf 什么是SPI SPI 是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。是Motorola(摩托罗拉)首先在其MC68HCXX系列处理器上定义的。 SPI,是一种高速的&…...
Selenium-Java版(操作元素)
选择和操控元素的基本方法 前言 选择元素 选择元素的方法 根据 id属性选择元素 根据class属性选择元素 根据tag名选择元素 通过WebElement对象选择元素 示例 等待界面元素出现 原因 解决 操控元素 点击元素 输入框 获取元素信息 获取元素文本内容 获取…...
20052012世界银行中国企业调查数据-社科数据
2005&2012世界银行中国企业调查数据-社科数据https://download.csdn.net/download/paofuluolijiang/90623828https://download.csdn.net/download/paofuluolijiang/90623828 世界银行中国企业调查数据(World Bank Enterprise Surveys Data)是国际金…...
学习黑客NFC技术详解
NFC技术详解:近距离通信的无线桥梁 📱💳 学习目标:了解NFC技术的基本原理、应用场景及安全注意事项,掌握这一日益普及的近场通信技术 1. NFC的概念与基础 📡 NFC(Near Field Communication&…...
Java问题排查常用命令行工具速查表
Java问题排查常用命令行工具速查表 工具典型用途常用命令示例说明/场景jps列出本机所有Java进程jps -l获取Java进程PID和主类名,配合其它工具使用jcmd动态诊断、堆heap dump、线程dump等jcmd helpjcmd VM.flagsjcmd GC.heap_infojcmd Thread.print功能最全…...
近期搬了个家,停更了几天,明天继续哈~
近期搬了个家,停更了几天,明天继续哈~ 近期搬家比较离谱,第一天下暴雨,冰雹,停电,第二天又停电两小时,截止14号晚上11:30终于完工 了,从西二的20 号楼到西三的19号楼&am…...
C#高级编程:IO和序列化
在 C# 编程中,输入输出(IO)和序列化是两个至关重要的概念,它们为数据的存储、读取以及在不同环境间的传输提供了强大的支持。无论是开发小型应用程序,还是构建复杂的企业级系统,深入理解并熟练运用 IO 和序列化技术都是必不可少的。 一、C# 中的 IO 基础 1、文件流…...
PyQt5完整指南:从入门到实践
引言 PyQt5是Python编程语言的一个GUI(图形用户界面)工具包,它是Qt5应用程序框架的Python绑定。Qt是一个跨平台的C应用程序开发框架,被广泛用于开发GUI程序和非GUI程序。PyQt5让Python开发者能够使用Python语言享受到Qt框架的强大…...
C#高级编程:加密解密
在数字化时代,数据安全是每个应用程序都必须重视的环节。无论是用户的个人信息、敏感的商业数据,还是重要的系统配置,都需要得到妥善的保护。C# 作为一种广泛应用的编程语言,提供了丰富且强大的加密解密功能,帮助开发者构建安全可靠的应用。本文将深入探讨 C# 高级编程中的…...
银行卡真伪验证助力金融合规-银行卡实名认证接口
在数字化时代,金融交易日益频繁,用户身份与银行卡信息的真实性核验成为保障资金安全、防止欺诈行为的关键环节。无论是在线支付、网络借贷、电商平台,还是社交软件、金融服务APP,均需对用户的银行卡进行严格的实名认证。为满足企业…...
html5+css3实现傅里叶变换的动态展示效果(仅供参考)
<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>傅里叶变换的动态展示效果</title><sty…...
SysConfig修改后`ti_msp_dl_config`文件未更新问题的解决方法(已解决)
SysConfig修改后ti_msp_dl_config文件未更新问题的解决方法 在使用SysConfig工具配置TI MSPM0系列MCU时,有时会遇到一个令人困惑的问题:在SysConfig中修改配置后,生成的ti_msp_dl_config.c文件内容却没有更新。这可能会导致工程无法正确编译…...
深入浅出 IPFS 在 DApps 和 NFT 中的应用:以 Pinata 实战为例
目录 IPFS背景什么是 IPFS?IPFS 在 DApps 与 NFT 中的作用什么是 Pinata?为什么使用它?使用原生IPFS上传下载文件(HTML + JavaScript 示例)使用Pinata上传下载文件(HTML + JavaScript 示例)注册并创建APIKey使用 Pinata 上传文件和JSON(HTML + JavaScript 示例)总结IP…...
深度剖析LLM的“大脑”:单层Transformer的思考模式探索
简单说一下哈 —— 咱们打算训练一个单层 Transformer 加上稀疏自编码器的小型百万参数大型语言模型(LLM),然后去调试它的思考过程,看看这个 LLM 的思考和人类思考到底有多像。 LLMs 是怎么思考的呢? 开源 LLM 出现之后…...
(4)python开发经验
文章目录 1 使用ctypes库调用2 使用pybind11 更多精彩内容👉内容导航 👈👉Qt开发 👈👉python开发 👈 1 使用ctypes库调用 说明:ctypes是一个Python内置的库,可以提供C兼容的数据类型…...
卷积神经网络全连接层详解:特征汇总、FCN替代与性能影响分析
【内容摘要】 本文聚焦卷积神经网络(CNN)的全连接层,详细介绍其将二维特征图转化为一维向量的过程,阐述全卷积网络(FCN)如何通过转置卷积替代全连接层以实现像素级分类,并分析全连接层对图像分类…...
通义千问-langchain使用构建(一)
目录 序言通义千问1获取通义千问api_key2Conda构建下本地环境3 构建一下多轮对话 LangChain1使用Langchain调用通义千问接口实现翻译 结论 序言 25年5月,现在基本每个大厂都有涉及大模型(Large Language Model),然后在大模型基础上构建应用框架。 参考…...
六西格玛觉醒:一场数据思维的启蒙运动
当生产线上的不良品率曲线第一次在我眼前具象化为统计波动图时,我意识到自己正站在新旧认知的断层带上。从对着MINITAB界面手足无措的菜鸟,到能独立完成过程能力分析的绿带学员,这段学习旅程不仅重塑了我的问题解决逻辑,更让我…...
BitMart合约交易体验 BitMart滑点全赔的底层逻辑
美国新泽西州泽西市,2025年5月13日 – BitMart,全球领先的数字资产交易平台,推出了其开创性的滑点保护计划,旨在解决加密市场中最具挑战性且常常被忽视的风险之一:滑点。该计划为交易者提供了在 USDT 保证金永续合约交…...
HCIP(BFD)
一、前言 随着网络应用的广泛部署,网络发生故障极大可能导致业务异常。为了减小链路、设备故障对业 务的影响,提高网络的可靠性,网络设备需要尽快检测到与相邻设备间的通信故障,以便及时采取措施,保证业务正常进行。BFD(Bidirectional Forwarding Detection,双向转发检测)提供…...
json-server的用法-基于 RESTful API 的本地 mock 服务
json-server 是一个非常方便的工具,用于快速搭建基于 RESTful API 的本地 mock 服务,特别适合前端开发阶段模拟后端数据接口。 🧩 一、安装 npm install -g json-server🚀 二、快速启动 创建一个 db.json 文件(模拟数…...
化工单元操作试验装置系列产品JG-SX211计算机过程控制板框过滤操作实训装置
化工单元操作试验装置系列产品JG-SX211计算机过程控制板框过滤操作实训装置 一、装置功能 板框过滤岗位技能:板框过滤机的构造和操作方法;板框压滤机的操作(装合、过滤、洗涤、卸渣、整理);洗涤速率与最终过滤速率的关…...
Linux 内核 IPv4 协议栈中的协议注册机制解析
1. 引言 在 Linux 内核的 IPv4 协议栈中,inetsw 是一个核心数据结构,负责管理不同套接字类型(如 SOCK_STREAM、SOCK_DGRAM)的协议实现。本文结合代码分析,深入探讨其设计原理、动态协议注册机制及并发安全实现。 2. inetsw 的结构与作用 2.1 定义与初始化 static struc…...
【PostgreSQL数据分析实战:从数据清洗到可视化全流程】附录-C. 常用SQL脚本模板
👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 附录C. 常用SQL脚本模板速查表一、数据清洗与预处理模板二、数据聚合与分析模板三、窗口函数应用模板四、性能优化与监控模板五、数据备份与恢复模板六、权限管理与安全模板…...
Linux操作系统实战:中断源码的性能分析(转)
Linux中断是指在Linux操作系统中,当硬件设备或软件触发某个事件时,CPU会中断正在执行的任务,并立即处理这个事件。它是实现实时响应和处理外部事件的重要机制,Linux中断可以分为两种类型:硬件中断和软件中断࿰…...
Windows系统Anaconda/Miniconda的安装、配置、基础使用、清理缓存空间和Pycharm/VSCode配置指南
本文同步发布在个人博客: Windows系统Anaconda/Miniconda的安装、配置、基础使用、清理缓存空间和Pycharm/VSCode配置指南 - 萑澈的寒舍Conda 是一个开源的跨平台包管理与环境管理工具,广泛应用于数据科学、机器学习及 Python 开发领域。它不仅能帮助用…...
用HBuilder运行小程序到微信开发者工具
首先在HBuilder里配置微信开发者工具安装路径 “运行”--“运行到小程序模拟器”--“运行设置”--“微信开发者工具路径”...
基于网关实现不同网段S7-1200 CPU的通信方法
在工业自动化场景中,不同网段的S7-1200 PLC之间需要进行数据交换时,通常需要借助网关或路由设备实现跨网段通信。以下是几种常见的实现方法及详细配置步骤。 一、通信需求分析 当两个或多个S7-1200 PLC位于不同子网(如192.168.1.0/24和192.1…...
微信小程序学习之轮播图swiper
轮播图是小程序的重要组件,我们还是好好学滴。 1、上代码,直接布局一个轮播图组件(index.wxml): <swiper class"swiper" indicator-active-color"#fa2c19" indicator-color"#fff" duration"{{durati…...
零基础用 Hexo + Matery 搭建博客|Github Pages 免费部署教程
文章目录 一、Hexo1.1 依赖1.2 快速使用1.3 目录说明1.4 命令说明1.4.1 常规命令1.4.2 全局选项 二、主题安装2.1 安装 Matery 主题2.1.1 下载2.1.2 配置2.1.2.1 基础配置2.1.2.2 新建页面类型2.1.2.3 其他配置 2.2 其他主题推荐 三、部署3.1 部署到 Github Pages 四、总结 一、…...
Large-Scale Language Models: In-Depth Principles and Pioneering Innovations
大规模语言模型(Large-Scale Language Models, LLMs)是人工智能领域的璀璨明珠,深刻重塑了自然语言处理(NLP)并推动多模态应用的蓬勃发展。从BERT的语义洞察到GPT系列的生成奇迹,再到Grok、LLaMA等模型的跨界创新,LLMs在智能对话、代码生成、科学探索等领域展现出近乎人…...
微信小程序智能商城系统(uniapp+Springboot后端+vue管理端)
一、系统介绍 本智能商城系统是基于当今主流技术栈开发的一款多端商城解决方案,主要包括微信小程序前端、SpringBoot 后端服务以及 Vue 管理后台三大部分。系统融合了线上商城的核心功能,支持商品浏览、下单、支付、订单管理等操作,适用于中小…...
命令行快速上传文件到SFTP服务器(附参考示例)
一、SFTP基础命令格式 更新参数后的标准命令格式为: sftp -P [端口号] [用户名][服务器IP]:[远程路径] <<< $put [本地文件路径]二、新参数实例解析 使用新连接参数的完整命令示例: sftp -P 30033 test_jigou_sftp121.199.64.216:/download…...
【Linux】第十六章 分析和存储日志
1. RHEL 日志文件保存在哪个目录中? 一般存储在 /var/log 目录中。 2. 什么是syslog消息和非syslog消息? syslog消息是一种标准的日志记录协议和格式,用于系统和应用程序记录日志信息。它规定了日志消息的结构和内容,包括消息的…...