当前位置: 首页 > news >正文

【NOI-题解】1009 - 数组逆序1162 - 数组元素的删除1211 - 数组元素的插入1161. 元素插入有序数组1159. 数组元素的移动

文章目录

  • 一、前言
  • 二、问题
    • 问题:1009 - 数组逆序
    • 问题:1162 - 数组元素的删除
    • 问题:1211 - 数组元素的插入
    • 问题:1161. 元素插入有序数组
    • 问题:1159. 数组元素的移动
  • 三、感谢

一、前言

本章节主要对数组问题中数组元素移动的题目进行讲解,包括《1009 - 数组逆序》《1162 - 数组元素的删除》《1211 - 数组元素的插入》《1161. 元素插入有序数组》《1159. 数组元素的移动》。

二、问题

问题:1009 - 数组逆序

类型:数组元素移动


题目描述:

给你 m 个整数,将其逆序输出。

输入:

第一行一个整数 m (3≤m≤100)代表数的个数。

第二行 m 个整数(空格隔开)(这些数在 0∼10^6之间)。

输出:

m 个整数(空格隔开)。

样例:

输入:

3
1 7 5

输出:

5 7 1

在这里插入图片描述


1.分析问题

  1. 已知:用户将输入m个整数。
  2. 未知:需要逆序输出这些整数。
  3. 关系:通过交换数组元素的位置实现逆序。

2.定义变量

  • 用于存储数组的长度,即用户将输入的整数的数量。
  • 定义一个最大长度为100的数组,用于存储用户输入的整数。
    // 二、数据定义int n; int a[100]; 

3.输入数据

  • 输入数组的长度。
  • 逐个输入整数,并存储在数组中。
 // 三、数据输入cin >> n; for(int i = 0; i < n; i++){cin >> a[i]; }

4.数据计算

  • 使用一个循环遍历数组的前半部分,通过交换数组两端的元素来实现逆序。
  	// 四、数据计算 - 实现逆序int temp; for(int i = 0; i < n / 2; i++){ temp = a[i];a[i] = a[n - i - 1]; a[n - i - 1] = temp; }

5.输出结果

  • 逐个输出逆序后的数组元素。
  // 五、输出结果for(int i = 0; i < n; i++){cout << a[i] << " "; }

完整代码如下:

#include<iostream>
using namespace std;
int main(){// 一、分析问题// 已知:用户将输入m个整数// 未知:需要逆序输出这些整数// 关系:通过交换数组元素的位置实现逆序// 二、数据定义int n; // 用于存储数组的长度,即用户将输入的整数的数量int a[100]; // 定义一个最大长度为100的数组,用于存储用户输入的整数// 三、数据输入cin >> n; // 输入数组的长度for(int i = 0; i < n; i++){cin >> a[i]; // 逐个输入整数,并存储在数组中}// 四、数据计算 - 实现逆序int temp; // 用于临时存储数组元素,以便交换for(int i = 0; i < n / 2; i++){ // 只需遍历数组前半部分temp = a[i]; // 将当前元素存储在temp中a[i] = a[n - i - 1]; // 将对应位置的后半部分元素放到前半部分a[n - i - 1] = temp; // 将temp中的元素放到后半部分}// 五、输出结果for(int i = 0; i < n; i++){cout << a[i] << " "; // 逐个输出逆序后的数组元素}return 0; // 主函数正常结束
}

问题:1162 - 数组元素的删除

类型:数组元素移动


题目描述:

把一个数组的第 x 个位置的元素删除掉。

输入:

输出有三行:

第一行有一个整数 n ( n≤10 );

第二行有 n 个整数(每个整数在1~1000之间);

第三行有一个整数 x(1≤x≤n),为要删除的位置。

输出:

输出更新后的数组。

样例:

输入:

5
1 2 3 4 5 
3

输出:

1 2 4 5

在这里插入图片描述


1.分析问题

  1. 已知:用户将输入一个数组和一个要删除的元素的位置。
  2. 未知:删除指定位置的元素后的新数组。
  3. 关系:将指定位置之后的所有元素向前覆盖移动一位。

2.定义变量

  • n:数组的长度。
  • x::要删除的元素的位置。
    // 二、数据定义int n; int a[100]; int x; 

3.输入数据

  • 输入数组的长度。
  • 逐个输入数组元素 。
  • 输入要删除的元素的位置。
  // 三、数据输入cin >> n; for(int i = 0; i < n; i++){cin >> a[i]; }cin >> x; 

4.数据计算

  • C++数组的下标从0开始,所以将输入的位置减1。
  • 将指定位置之后的元素向前覆盖移动一位。
    // 四、数据计算 - 删除指定位置的元素--x; for(int i = x; i < n - 1; i++){a[i] = a[i + 1]; }

5.输出结果

  • 逐个输出数组元素。
    // 五、输出结果 - 输出删除元素后的数组for(int i = 0; i < n - 1; i++){cout << a[i] << " "; }

完整代码如下:

#include<iostream>
using namespace std;int main(){// 一、分析问题// 已知:用户将输入一个数组和一个要删除的元素的位置。// 未知:删除指定位置的元素后的新数组。// 关系:将指定位置之后的所有元素向前覆盖移动一位。// 二、数据定义int n; // 数组的长度int a[100]; // 数组,最大长度为100int x; // 要删除的元素的位置// 三、数据输入cin >> n; // 输入数组的长度for(int i = 0; i < n; i++){cin >> a[i]; // 逐个输入数组元素}cin >> x; // 输入要删除的元素的位置// 四、数据计算 - 删除指定位置的元素--x; // C++数组的下标从0开始,所以将输入的位置减1for(int i = x; i < n - 1; i++){a[i] = a[i + 1]; // 将指定位置之后的元素向前覆盖移动一位}// 五、输出结果 - 输出删除元素后的数组for(int i = 0; i < n - 1; i++){cout << a[i] << " "; // 逐个输出数组元素}return 0; // 主函数正常结束
}

问题:1211 - 数组元素的插入

类型:数组元素移动


题目描述:

在一个数组的第 x 个位置插入一个新的数y。

输入:

有四行 第一行有一个整数 n (5≤n≤10);

第二行有 n 个整数,用空格隔开;

第三行有一个整数 x,为要插入的位置;

第四行有一个整数 y,为要插入的整数。

输出:

更新后的数组。

样例:

输入:

5
7 2 3 4 5
2
9

输出:

7 9 2 3 4 5

在这里插入图片描述


1.分析问题

  1. 已知:一个数组。
  2. 未知:更新后的数组。
  3. 关系:在 x 个位置插入一个新的数 y。

2.定义变量

  • n 是数组的原始长度。
  • a[100] 是用于存储数组元素的数组,最大长度为100。
  • x 是要插入新元素的位置。
  • y 是要插入的新元素。
	//二、数据定义 int n,a[100],x,y;

3.输入数据

  • 首先读取数组的长度n。
  • 接着读取n个数组元素并存储在a中。
  • 然后读取插入位置x和新值y。
	//三、数据输入 cin>>n;for(int i=0;i<n;i++){cin>>a[i];}cin>>x;cin>>y;

4.数据计算

  • 将插入位置x减1,因为数组下标是从0开始的。
  • 从数组的末尾开始,将每个元素向后移动一位,直到到达位置x。
  • 在位置x处放置新值y。
	//四、数据计算 --x;for(int i=n;i>=x;i--){a[i]=a[i-1];}a[x]=y;

5.输出结果

  • 打印出更新后的数组,包括新插入的元素。
	//五、输出结果 for(int i=0;i<n+1;i++){cout<<a[i]<<" ";}

完整代码如下:

#include<iostream> // 引入标准输入输出流库
using namespace std; // 使用std命名空间,避免每次调用输入输出函数时都加上std::int main(){// 一、分析问题// 已知:一个数组// 未知:更新后的数组// 关系:在 x 个位置插入一个新的数 y// 二、数据定义int n, a[100]; // 定义一个整型变量n和一个最多有100个元素的整型数组aint x, y;      // 定义插入的位置x和新元素y// 三、数据输入cin >> n;      // 输入数组的长度for(int i = 0; i < n; i++){ // 循环读取数组的元素cin >> a[i];            // 读取第i个元素并存入数组a}cin >> x;                   // 输入插入的位置cin >> y;                   // 输入要插入的元素// 四、数据计算--x;                        // 由于数组索引从0开始,所以插入位置需要减1for(int i = n; i >= x; i--){ // 从数组的末尾开始,将所有元素向后移动一位a[i] = a[i-1];          // 将第i-1个元素复制到第i个位置}a[x] = y;                   // 在位置x处插入新元素y// 五、输出结果for(int i = 0; i <= n; i++){ // 注意这里使用<=n,因为数组现在多了一个元素cout << a[i] << " ";    // 输出数组中的每一个元素}return 0;                   // 主函数结束,返回0表示程序正常结束
}

问题:1161. 元素插入有序数组

类型:数组元素移动


题目描述:

给你一个整数 n 和一个数列(数列个数不超过 1000 ),这个数列保证从小到大排列,现要求将这个整数 n 插入到数列中,使新的数列仍然从小到大排列。

输入:

第一行一个整数 n 表示等待插入的数 ;

第二行一个整数 m 表示数列中数的个数;

第三行 m 个整数(空格隔开)。

输出:

一行整数:新的数列(空格隔开)。

样例:

输入:

2
4
1 3 4 5

输出:

1 2 3 4 5

在这里插入图片描述


1.分析问题

  1. 已知:一个整数 n 和一个m大小有序数列。
  2. 未知:新的数列(在原数列中插入n后)。
  3. 关系: 整数 n 插入到数列,数列仍然从小到大排列。

2.定义变量

  • n:待插入的整数。
  • m:数组的原始长度。
  • a[1010]:一个大小为1010的数组,用来存储原始的数组元素和即将插入的整数。
  • idx:插入点的索引,初始化为0。
    int n, m, a[1010], idx = 0;

3.输入数据

  • 读取待插入的整数n和数组的原始长度m。
    cin >> n;cin >> m;
  • 首先读取数组的元素,然后检查每个元素是否小于n。如果是,则更新idx为当前元素的下一个位置的索引,这样idx最终将指向第一个大于或等于n的元素的位置,或者在所有元素都小于n的情况下,指向数组的末尾。
    for(int i = 0; i < m; i++){cin >> a[i];if(a[i] < n){idx = i + 1;}}

4.数据计算

  • 将数组中从idx开始的所有元素向后移动一个位置,为插入n腾出空间。然后在idx位置插入n。
    for(int i = m; i > idx; i--){a[i] = a[i-1];}a[idx] = n;

5.输出结果

  • 输出更新后的数组,包括新插入的元素n。
    for(int i = 0; i <= m; i++){cout << a[i] << " ";}

完整代码如下:

#include<bits/stdc++.h> // 引入C++标准库中的所有头文件
using namespace std; // 使用标准命名空间int main(){// 一、分析问题// 已知:一个整数 n 和一个m大小有序数列。// 未知:新的数列(在原数列中插入n后)。// 关系: 整数 n 插入到数列,数列仍然从小到大排列。// 二、定义变量(已知、未知、关系)int n, m, a[1010]; // 定义整数n,数列长度m,和最多可包含1010个元素的数组aint idx = 0;       // 定义idx作为插入点的索引// 三、输入已知cin >> n;          // 输入要插入的整数ncin >> m;          // 输入数列的长度mfor(int i = 0; i < m; i++){cin >> a[i];   // 输入数列的每个元素if(a[i] < n){  // 检查当前元素是否小于nidx = i + 1; // 如果是,更新插入点的索引}}// 四、根据关系计算for(int i = m; i > idx; i--){ // 从数列的末尾开始,将所有元素向后移动一位,直到idxa[i] = a[i-1];            // 将第i-1个元素复制到第i个位置}a[idx] = n;                  // 在找到的插入点idx处插入n// 五、输出未知for(int i = 0; i <= m; i++){ // 输出更新后的数列cout << a[i] << " ";     // 注意:这里i <= m是因为数组大小增加了1}return 0;                    // 正常退出程序
}

问题:1159. 数组元素的移动

类型:数组元素移动


题目描述:

数组元素的移动,把数组的第 x 个位置的元素先保存起来,然后把 x+1 到 n 的元素,依次往前移一位,最后原来的第 x 个位置的元素放在最后。

输入:

有 3 行

第一行有一个整数 n (n≤10 );

第二行有 n 个整数;

第三行有一个整数 x 。

输出:

移动后的数组。

样例:

输入:

8
1 2 3 4 5 6 7 8
1

输出:

2 3 4 5 6 7 8 1

在这里插入图片描述


1.分析问题

  1. 已知:一个n大小的数组,x坐标。
  2. 未知:移动后的数组。
  3. 关系: 把数组的第 x 个位置的元素先保存起来,然后把 x+1 到 n 的元素,依次往前移一位,最后原来的第 x 个位置的元素放在最后。

2.定义变量

  • n:数组的长度。
  • a[20]:数组,用于存储n个整数。
  • x:需要移动的元素的索引位置。
	//二、定义变量(已知、未知、关系) int n,a[20],x;

3.输入数据

  • 首先读取数组的长度n。
  • 然后读取n个数组元素。
  • 最后读取要移动的元素的索引x。
	//三、输入已知cin>>n;for(int i=0;i<n;i++){cin>>a[i];}cin>>x;

4.数据计算

  • 将x减1,因为数组索引是从0开始的。
  • 保存第x个位置的元素到临时变量t中。
  • 从x开始,将x+1到n-1的每个元素向前移动一位,覆盖原来的位置。
  • 将原先的第x个元素(保存在t中)放到数组的末尾。
	//四、根据关系计算--x;int t=a[x];for(int i=x;i<n-1;i++){a[i]=a[i+1];}a[n-1]=t;

5.输出结果

  • 打印更新后的数组。
	//五、输出未知 for(int i=0;i<n;i++){cout<<a[i]<<" ";}

完整代码如下:

#include<bits/stdc++.h> // 包含C++标准库中的所有头文件
using namespace std; // 使用std命名空间中的所有元素int main(){// 一、分析问题// 已知:一个大小为n的数组和一个坐标x。// 未知:移动元素后的数组。// 关系:将数组的第x个位置的元素移到数组的末尾,同时保持其他元素的相对顺序不变。// 二、定义变量int n; // 数组的长度int a[20]; // 数组,最多可容纳20个整数int x; // 需要移动的元素的索引位置// 三、输入已知数据cin >> n; // 输入数组的长度for(int i = 0; i < n; i++){cin >> a[i]; // 输入数组的每个元素}cin >> x; // 输入要移动的元素的索引位置// 四、根据关系计算--x; // 调整x为基于0的索引int t = a[x]; // 保存要移动的元素for(int i = x; i < n - 1; i++){ // 移动元素a[i] = a[i + 1]; // 将后面的元素移动到当前位置}a[n - 1] = t; // 将原先的元素放到数组的末尾// 五、输出未知数据for(int i = 0; i < n; i++){cout << a[i] << " "; // 输出更新后的数组}return 0; // 返回0,表示程序正常结束
}

三、感谢

如若本文对您的学习或工作有所启发和帮助,恳请您给予宝贵的支持——轻轻一点,为文章点赞;若觉得内容值得分享给更多朋友,欢迎转发扩散;若认为此篇内容具有长期参考价值,敬请收藏以便随时查阅。

每一次您的点赞、分享与收藏,都是对我持续创作和分享的热情鼓励,也是推动我不断提供更多高质量内容的动力源泉。期待我们在下一篇文章中再次相遇,共同攀登知识的高峰!

在这里插入图片描述

相关文章:

【NOI-题解】1009 - 数组逆序1162 - 数组元素的删除1211 - 数组元素的插入1161. 元素插入有序数组1159. 数组元素的移动

文章目录 一、前言二、问题问题&#xff1a;1009 - 数组逆序问题&#xff1a;1162 - 数组元素的删除问题&#xff1a;1211 - 数组元素的插入问题&#xff1a;1161. 元素插入有序数组问题&#xff1a;1159. 数组元素的移动 三、感谢 一、前言 本章节主要对数组问题中数组元素移…...

新电脑如何设置 npm 源及查看源、安装 cnpm、pnpm 和 yarn 的详细教程

当你获得一台新电脑&#xff0c;或需要在现有电脑上优化 JavaScript 和 Node.js 的开发环境时&#xff0c;正确配置 npm 是一步不可少的过程。本教程将详细指导你如何设置 npm 源&#xff0c;查看当前源&#xff0c;以及如何安装 cnpm、pnpm 和 yarn。 1. 设置 npm 源 npm (N…...

完全移动huggingface模型仓库(不是简单mv)

Linux中移动huggingface模型仓库 参考链接 先在bashrc中配置&#xff1a; export HF_DATASETS_CACHE"/your/path/dataset" export HF_HOME"/your/path/" export HUGGINGFACE_HUB_CACHE"/your/path/hub" export TRANSFORMERS_CACHE"/your…...

手机空号过滤批量查询的意义及方法

手机空号过滤批量查询是现代营销和通信管理中常用的技术手段&#xff0c;旨在通过批量处理手机号码&#xff0c;筛选出活跃号码和空号等无效号码&#xff0c;以提高营销效率和减少不必要的通信成本。以下是关于手机空号过滤批量查询的详细解答&#xff1a; 一、手机空号过滤批…...

Dockerfile制作部署wordpress-6.6

目录 一. 环境准备 二. 准备对应的配置文件 三. 编写Dockerfile 四. 构建镜像 五. 配置MySQL 六. 安装wordpress 七. 扩展 一. 环境准备 localhost192.168.226.25 rocky_linux9.4 Docker version 27.0.3 关闭防火墙和selinux&#xff0c;进行时间同步。 安装docker…...

项目的纪要

ai客服项目中发现的问题: 可以在控制台看到我们存储的cookie: 可以看到是这样的, 但是我们通过getCookie方法专门获取这个字段, 然后在控制台打印后 const userName getCookie(SA_USER_NICK_NAME); console.log(userName, userName); 输出结果是: 然后我们尝试通过de…...

ubuntu 更新源

前言 实现一键替换在线源 一键更新源 ubuntu 全球镜像站以下支持现有ubuntu 20&#xff0c;22&#xff0c;24 echo "Delete the default source" rm -rf /etc/apt/sources.listecho "Build a new source" cat <<EOF>>/etc/apt/sources.li…...

XGBoost、RF随机森林算法MATLAB实现

% 加载并预处理训练数据 opts1 = detectImportOptions(附件一AE.xlsx, PreserveVariableNames, true); train_data = readtable(附件一AE.xlsx, opts1); train_data.Time = datetime(train_data.time, InputFormat, yyyy-MM-dd HH:mm:ss); % 特征提取和标签准备 windowSize…...

WPF 解决: DataGrid 已定义列,但是还是会显示模型的所有属性的问题

AutoGenerateColumns 属性 AutoGenerateColumns&#xff1a;这个属性决定 DataGrid 是否根据数据源中的属性自动生成列。如果设置为 true&#xff0c;DataGrid 会根据数据源中的属性自动生成列。如果设置为 false&#xff0c;则 DataGrid 不会自动生成列&#xff0c;开发者需要…...

【ai】Easy-RAG : ImportError: cannot import name ‘BaseModel‘ from ‘pydantic‘

[Bug]: cannot import name ‘RootModel’ from ‘pydantic’ #1237 版本不匹配导致 ImportError: cannot import name ‘BaseModel’ from ‘pydantic’ /home/zhangbin/miniconda3/envs/Easy-RAG/bin/python /home/zhangbin/proj/06_rag/02_Easy-RAG/webui.py /home/zhangbi…...

WebKit简介

WebKit是一个开源的浏览器引擎&#xff0c;最初由苹果公司开发&#xff0c;用于Safari浏览器。它是基于KDE项目的KHTML引擎进行开发&#xff0c;并在改进和扩展中形成了WebKit引擎。 WebKit的工作流程可以分为以下几个步骤&#xff1a; 1.解析HTML&#xff1a;当浏览器加载一个…...

笔记 | Python环境下的GUI编程常用包

前言 Python的使用频率和范围越来越大&#xff0c;在一些开发工作中由于需要可视化的图形界面&#xff0c;常常需要进行图形用户界面&#xff08;Graphic User Interface, GUI&#xff09;开发。例如&#xff0c;目前最火热的大模型应用&#xff0c;常常是以一个网页界面进行操…...

mysql 数据库空间统计sql

mysql 数据库空间统计 文章目录 mysql 数据库空间统计说明一、数据库存储代码二、查询某个数据库的所有表的 代码总结 说明 INFORMATION_SCHEMA Table Reference 表参考 information_schema是‌MySQL中的一个特殊数据库&#xff0c;它存储了关于所有其他数据库的元数据信息。…...

【Linux】线程——线程池、线程池的实现、线程安全的线程池、单例模式的概念、饿汉和懒汉模式、互斥锁、条件变量、信号量、自旋锁、读写锁

文章目录 Linux线程7. 线程池7.1 线程池介绍7.2 线程池的实现7.3 线程安全的线程池7.3.1 单例模式的概念7.3.2 饿汉和懒汉模式 8. 常见锁使用汇总8.1 互斥锁&#xff08;Mutex&#xff09;8.2 条件变量&#xff08;Condition Variable&#xff09;8.3 信号量&#xff08;Semaph…...

stm32入门-----TIM定时器(PWM输出比较——下)

目录 前言 一、硬件元器件介绍 1.舵机 2.直流电机驱动 二、C语言编程步骤 1.开启时钟 2.配置输出的GPIO口 3.配置时基单元 4.初始化输出比较通道 5.开启定时器 三、实践项目 1.PWM驱动LED呼吸灯 2.PWM驱动舵机 3.PWM驱动直流电机 前言 本期我们就开始去进行TIM定时…...

css实现线条中间高亮,左右两边模糊(linear-gradient的运用)

效果&#xff1a; <div class"line"></div> .line {height: 1px;background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #a9c2ff 50%, rgba(255, 255, 255, 0) 100%);border-radius: 4px 4px 4px 4px; } CSS实现边框底部渐变色的方法:(最简单…...

【数据结构】建堆算法复杂度分析及TOP-K问题

【数据结构】建堆算法复杂度分析及TOP-K问题 &#x1f525;个人主页&#xff1a;大白的编程日记 &#x1f525;专栏&#xff1a;数据结构 文章目录 【数据结构】建堆算法复杂度分析及TOP-K问题前言一.复杂度分析1.1向下建堆复杂度1.2向上建堆复杂度1.3堆排序复杂度 二.TOP-K问…...

Thinkphp5实现前后端通过接口通讯基本操作方法

在ThinkPHP5框架中&#xff0c;实现前后端通过接口通讯是一个常见的需求&#xff0c;尤其是在开发RESTful API时。下面是一个基本的步骤指南&#xff0c;用于设置ThinkPHP5来创建API接口&#xff0c;并使前端能够通过HTTP请求与后端进行通讯。 1. 创建API模块 首先&#xff0…...

Go 语言任务编排 WaitGroup

WaitGroup 是常用的 Go 同步原语之一,用来做任务编排。它要解决的就是并发-等待的问题: 现在有一个 goroutine A 在检查点 ( checkpoint ) 等待一组 goroutine 全部完成它们的任务,如果这些 goroutine 还没全部完成任务,那么 goroutine A 就会被阻塞在检查点,直到所有的 …...

星环科技推出知识库产品 AI PC时代数据交互方式变革

随着企业业务的快速发展&#xff0c;数据量呈爆炸式增长&#xff0c;有效的知识管理成为企业面临的重要问题。企业遇到的普遍问题是大量的结构化、半结构化数据存储在不同的系统中&#xff0c;需要用多种计算机语言进行检索。而大模型彻底改变了人们和数据的交互方式&#xff0…...

10道JVM经典面试题

1、 JVM中&#xff0c;new出来的对象是在哪个区&#xff1f; 2、 说说类加载有哪些步骤&#xff1f; 3、 JMM是什么&#xff1f; 4、 说说JVM内存结构&#xff1f; 5、 MinorGC和FullGC有什么区别&#xff1f; 6、 什么是STW? 7、 什么情况下会发生堆/栈溢出&#xff1f…...

Redisson常用的数据结构及应用场景

Redisson 提供了一系列高级数据结构&#xff0c;这些数据结构封装了 Redis 的原生数据类型&#xff0c;提供了 Java API 的便利性和分布式特性。以下是 Redisson 中一些常用的数据结构&#xff0c;场景还在不断完善中&#xff1a; RBucket&#xff1a;这是一个简单的键值对存储…...

【实现100个unity特效之8】使用ShaderGraph实现2d贴图中指定部分局部发光效果

最终效果 寒冰法师 火焰法师 文章目录 最终效果寒冰法师火焰法师 素材一、功能分析实现方法基本思路Unity的Bloom后处理为什么关键部位白色&#xff1f;最终结果 二、 新建URP项目三、合并图片四、使用PS制作黑白图片方法一 手动涂鸦方法二 魔棒工具1. 拖入图片进PS&#xff0…...

Ubuntu 24.04 LTS Noble安装Docker Desktop简单教程

Docker 为用户提供了在 Ubuntu Linux 上快速创建虚拟容器的能力。但是&#xff0c;那些不想使用命令行管理容器的人可以在 Ubuntu 24.04 LTS 上安装 Docker Desktop GUI&#xff0c;本教程将提供用于设置 Docker 图形用户界面的命令…… Docker Desktop 是一个易于使用的集成容…...

XML 和 SimpleXML 入门教程

XML 和 SimpleXML 入门教程 XML&#xff08;可扩展标记语言&#xff09;是一种用于存储和传输数据的标记语言。它是一种自我描述的语言&#xff0c;允许用户定义自己的标签来表示数据。SimpleXML 是 PHP 中的一个扩展&#xff0c;用于解析和操作 XML 数据。本文将介绍 XML 和 …...

leetcode--链表类题目总结

本文作为刷题时对链表类题目的总结. 常见技巧: 引入虚拟头节点 便于处理边界情况便于对链表操作快慢双指针(判环,找环的入口等)链表逆序(推荐使用 虚拟头节点 头插法 进行逆序) 链表逆序( 头插法 虚拟头节点):链表内指定区间反转_牛客题霸_牛客网 虚拟节点:合并…...

打卡第22天------回溯算法

开始学习了,希望我可以尽快成功上岸! 一、回溯理论基础 什么是回溯法?回溯法也可以叫做回溯搜索法,它是一种搜索的方式。 回溯是递归的副产品,只要有递归就会有回溯。 回溯法的效率回溯法的本质是穷举,穷举所有可能,然后找出我们想要的答案。如果想让回溯法高效一些,可…...

Ubuntu对比两个文件内容有什么区别?

在Ubuntu&#xff08;或任何基于Linux的系统&#xff09;中&#xff0c;你可以使用多种命令行工具来比较两个文件的内容差异。以下是一些常用的方法&#xff1a; 1. **diff 命令**&#xff1a; diff 是Linux中用于比较两个文件差异的标准工具。它逐行比较文件&#xff0c;并显示…...

python:本机摄像头目标检测实时推理(使用YOLOv8n模型)

本文将介绍如何使用本机摄像头进行目标检测实时推理的python代码。 文章目录 一、下载YOLO权重文件二、环境配置三、完整代码 一、下载YOLO权重文件 https://github.com/ultralytics/ultralytics?tabreadme-ov-file 拉到网页最下面&#xff0c;选择适合的模型&#xff0c;下…...

Spark实时(四):Strctured Streaming简单应用

文章目录 Strctured Streaming简单应用 一、Output Modes输出模式 二、Streaming Table API 三、​​​​​​​​​​​​​​Triggers 1、​​​​​​​unspecified&#xff08;默认模式&#xff09; 2、​​​​​​​​​​​​​​Fixed interval micro-batches&am…...

SpringBoot上传超大文件导致OOM,完美问题解决办法

问题描述 报错: Caused by: java.lang.OutOfMemoryError at java.io.ByteArrayOutputStream.hugeCapacity(ByteArrayOutputStream.java:123) ~[?:1.8.0_381] at java.io.ByteArrayOutputStream.grow(ByteArrayOutputStream.java:117) ~[?:1.8.0_381] at java.…...

PyTorch 的各个核心模块和它们的功能

1. torch 核心功能 张量操作&#xff1a;PyTorch 的张量是一个多维数组&#xff0c;类似于 NumPy 的 ndarray&#xff0c;但支持 GPU 加速。数学运算&#xff1a;提供了各种数学运算&#xff0c;包括线性代数操作、随机数生成等。自动微分&#xff1a;torch.autograd 模块用于…...

Java开发之LinkedList源码分析

#来自ゾフィー&#xff08;佐菲&#xff09; 1 简介 LinkedList 的底层数据结构是双向链表。可以当作链表、栈、队列、双端队列来使用。有以下特点&#xff1a; 在插入或删除数据时&#xff0c;性能好&#xff1b;允许有 null 值&#xff1b;查询效率不高&#xff1b;线程不安…...

外卖霸王餐系统架构怎么选?

在当今日益繁荣的外卖市场中&#xff0c;外卖霸王餐作为一种独特的营销策略&#xff0c;受到了众多商家的青睐。然而&#xff0c;要想成功实施外卖霸王餐活动&#xff0c;一个安全、稳定且高效的架构选择至关重要。本文将深入探讨外卖霸王餐架构的选择&#xff0c;以期为商家提…...

AV1技术学习:Transform Coding

对预测残差进行变换编码&#xff0c;去除潜在的空间相关性。VP9 采用统一的变换块大小设计&#xff0c;编码块中的所有的块共享相同的变换大小。VP9 支持 4 4、8 8、16 16、32 32 四种正方形变换大小。根据预测模式选择由一维离散余弦变换 (DCT) 和非对称离散正弦变换 (ADS…...

Git操作指令

Git操作指令 一、安装git 1、设置配置信息&#xff1a; # global全局配置 git config --global user.name "Your username" git config --global user.email "Your email"2、查看git版本号 git -v # or git --version3、查看配置信息&#xff1a; git…...

CSS 创建:从入门到精通

CSS 创建:从入门到精通 CSS(层叠样式表)是网页设计中不可或缺的一部分,它用于控制网页的布局和样式。本文将详细介绍CSS的创建过程,包括基本概念、语法结构、选择器、样式属性以及如何将CSS应用到HTML中。无论您是初学者还是有经验的开发者,本文都将为您提供宝贵的信息。…...

Windows 11 系统对磁盘进行分区保姆级教程

Windows 11磁盘分区 磁盘分区是将硬盘驱动器划分为多个逻辑部分的过程&#xff0c;每个逻辑部分都可以独立使用和管理。在Windows 11操作系统中进行磁盘分区主要有以下几个作用和意义&#xff1a; 组织和管理数据&#xff1a;分区可以帮助用户更好地组织他们的数据&#xff0c…...

探索WebKit的CSS盒模型:深入理解Web布局的基石

探索WebKit的CSS盒模型&#xff1a;深入理解Web布局的基石 在Web开发的世界中&#xff0c;CSS盒模型&#xff08;Box Model&#xff09;是构建网页布局的核心原理。WebKit&#xff0c;作为Safari浏览器的渲染引擎&#xff0c;对CSS盒模型有着深入而精确的支持。本文将带你深入…...

c++初阶知识——string类详解

目录 前言&#xff1a; 1.标准库中的string类 1.1 auto和范围for auto 范围for 1.2 string类常用接口说明 1.string类对象的常见构造 1.3 string类对象的访问及遍历操作 1.4. string类对象的修改操作 1.5 string类非成员函数 2.string类的模拟实现 2.1 经典的string…...

php接口返回的json字符串,json_decode()失败,原来是多了红点

问题&#xff1a; 调用某个接口返回的json&#xff0c;json_decode()失败&#xff0c;返回数据为null&#xff0c; echo json_last_error();返回错误码 4 经过多次调试发现&#xff1a;多出来一个红点&#xff0c;预览是看不到的。 解决&#xff1a;要去除BOM头部 $resul…...

Python3网络爬虫开发实战(2)爬虫基础库

文章目录 一、urllib1. urlparse 实现 URL 的识别和分段2. urlunparse 用于构造 URL3. urljoin 用于两个链接的拼接4. urlencode 将 params 字典序列化为 params 字符串5. parse_qs 和 parse_qsl 用于将 params 字符串反序列化为 params 字典或列表6. quote 和 unquote 对 URL的…...

el-image预览图片点击遮盖处关闭预览

预览关闭按钮不明显 解决方式&#xff1a; 1.修改按钮样式明显点&#xff1a; //el-image 添加自定义类名&#xff0c;下文【test-image】代指 .test-image .el-icon-circle-close{ color:#fff; font-size:20px; ...改成很明显的样式 }2.使用事件监听&#xff0c;监听当前遮…...

基于Neo4j将知识图谱用于检索增强生成:Knowledge Graphs for RAG

Knowledge Graphs for RAG 本文是学习https://www.deeplearning.ai/short-courses/knowledge-graphs-rag/这门课的学习笔记。 What you’ll learn in this course Knowledge graphs are used in development to structure complex data relationships, drive intelligent sea…...

康康近期的慢SQL(oracle vs 达梦)

近期执行的sql&#xff0c;哪些比较慢&#xff1f; 或者健康检查时搂一眼状态 oracle&#xff1a; --最近3天内的慢sql set lines 200 pages 100 col txt for a65 col sql_id for a13 select a.sql_id,a.cnt,a.pctload,b.sql_text txt from (select * from (select sql_id,co…...

探索 GPT-4o mini:成本效益与创新的双重驱动

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

2.6基本算法之动态规划2989:糖果

描述 由于在维护世界和平的事务中做出巨大贡献&#xff0c;Dzx被赠予糖果公司2010年5月23日当天无限量糖果免费优惠券。在这一天&#xff0c;Dzx可以从糖果公司的N件产品中任意选择若干件带回家享用。糖果公司的N件产品每件都包含数量不同的糖果。Dzx希望他选择的产品包含的糖…...

12.顶部带三角形的边框 CSS 关键字 currentColor

顶部带三角形的边框 创建一个在顶部带有三角形的内容容器。 使用 ::before 和 ::after 伪元素创建两个三角形。两个三角形的颜色应分别与容器的 border-color 和容器的 background-color 相同。一个三角形(::before)的 border-width 应比另一个(::after)宽 1px,以起到边框的作…...

Llama中模块参数大小

LLama2中&#xff0c;流程中数据大小的变换如下 Transformer模块 第一次输入&#xff0c;进行prefill&#xff0c;输入x维度为[1, 8, 4096] 1. 构建wq,wk,wv,wo,尺寸均为[4096,4096]&#xff0c; 与x点乘&#xff0c;得到xq, xk, xv 2. 构建KV cache&#xff0c; 尺寸为 [b…...

Modbus转EtherCAT网关将Modbus协议的数据格式转换为EtherCAT协议

随着工业自动化技术的快速发展&#xff0c;不同通信协议之间的互操作性变得越来越重要。Modbus作为一种广泛使用的串行通信协议&#xff0c;与以太网为基础的EtherCAT协议之间的转换需求日益增长。本文将从网关功能、硬件设计、性能以及应用案例来介绍这款Modbus转EtherCAT网关…...