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

算法初阶双指针+C语言期末考试之编程题加强训练

双指针

常⻅的双指针有两种形式,⼀种是对撞指针,⼀种是左右指针。
对撞指针:⼀般⽤于顺序结构中,也称左右指针。
• 对撞指针从两端向中间移动。⼀个指针从最左端开始,另⼀个从最右端开始,然后逐渐往中间逼
近。
• 对撞指针的终⽌条件⼀般是两个指针相遇或者错开(也可能在循环内部找到结果直接跳出循
环),也就是:
◦ left == right (两个指针指向同⼀个位置)
◦ left > right (两个指针错开)
快慢指针:⼜称为⻳兔赛跑算法,其基本思想就是使⽤两个移动速度不同的指针在数组或链表等序列
结构上移动。
这种⽅法对于处理环形链表或数组⾮常有⽤。
其实不单单是环形链表或者是数组,如果我们要研究的问题出现循环往复的情况时,均可考虑使⽤快
慢指针的思想。
快慢指针的实现⽅式有很多种,最常⽤的⼀种就是:
• 在⼀次循环中,每次让慢的指针向后移动⼀位,⽽快的指针往后移动两位,实现⼀快⼀慢。

 

1. 移动零(easy)

「数组分两块」是⾮常常⻅的⼀种题型,主要就是根据⼀种划分⽅式,将数组的内容分成左右两部
分。这种类型的题,⼀般就是使⽤「双指针」来解决。
1. 题⽬链接:283. 移动零
2. 题⽬描述:
给定⼀个数组 nums ,编写⼀个函数将所有 0 移动到数组的末尾,同时保持⾮零元素的相对顺
序。
请注意 ,必须在不复制数组的情况下原地对数组进⾏操作。
⽰例 1:
输⼊: nums = [0,1,0,3,12]
输出: [1,3,12,0,0]
⽰例 2:
输⼊: nums = [0]
输出: [0]
思路:用cur指针扫描整个数组,另一个dest指针记录非零序列最后一个位置,根据cur扫描过程,分类划分,实现数组的划分,这样使得[0,dest]都是非0元素,[dest+1,cur-1]都是0.
具体实现:
class Solution {
public:void moveZeroes(vector<int>& nums) {int cur = 0;int dest = -1;while(cur<nums.size()){if(nums[cur]!=0){dest++;swap(nums[cur],nums[dest]);}cur++;}}
};

核心思路就是,选用cur指向第一个元素的左边第一个元素,让dset往右边扫描,遇到0就走,遇到非零停,然后让cur++,目的是让他指向0,然后交换,循环的条件是cur<nums.size(),直到最后一个元素为止。

第一题:阶乘求和

31a72cc652d540e68762a289ddfd5798.png思路:

遍历n,然后item来存放每一项,并且后一项是在前一项的基础上进行相乘,值得说的是,这里你定义的变量不能是int否则不能拿满分,原因是int类型包含的范围小,当n很大的时候,阶乘之和可能超过这个范围,导致发生溢出,因此应该用更大数据类型,如long long类型

#include <iostream>
using namespace std;// 计算阶乘
long long factorial(int n) {long long result = 1;for (int i = 1; i <= n; i++) {result *= i;}return result;
}int main() {int n;cin >> n;long long sum = 0;for (int i = 1; i <= n; i++) {sum += factorial(i);}cout << sum;return 0;
}

第二题:完数的判断

9202f442b931426598575497445117e4.png分析:

找出n内所有完数,那么就先遍历n,定义一个变量sum对它的因子进行求和,,因为因子是变化的这里这里定义一个数组将其全部存起来,然后判断sum与i是否相等输出即可

#include<stdio.h>
void PerfNumber(int n);
int main()
{int N;scanf("%d",&N);PerfNumber(N);
}
void PerfNumber(int n)
{for(int i=2;i<=n;i++){int sum=0,k=0;int a[100]={0};for(int j=1;j<i;j++){if(i%j==0){sum+=j;a[k]=j;k++;}}if(sum==i){k=0;printf("%d its factors are ",i);while(a[k]){printf("%d ",a[k]);k++;} printf("\n");}}return;
}

第三题:字符串的输入输出处理

8d7de0936174441e93aadbd85d418971.png思路:

解决这道题还是用istringstream来处理,并且定义了一个函数来实现字符串的切割。更方便处理字符串流的文本,并且注意当读取n的时候,要把末尾\n给去掉,可以用getchar也可以用cin.ignore(),然后是多组输入,这里用一个while循环,即一直读取str,当小于n时原样输出,大于时,输出字符串流。

#include <iostream>#include <string>#include <sstream>#include <vector>using namespace std;void stringSplit(string str); //这里加不加const都行,加上是因为编程习惯,这个符号在函数中不能修改
int main() {int n, i = 0;string str;cin >> n;getchar();while (getline(cin, str)) {if (i++ < n) {cout << str << endl << endl;}else {stringSplit(str);}}
return 0;
}void stringSplit(string str) {istringstream iss(str);string receive;while (iss >> receive){cout << receive << endl << endl;}}

第四题:线性筛求素数(了解即可)

505388fb8beb4083838db1815adb127d.png

思路:这里用线性筛给大家实现,线性筛比普通遍历的方法效率更高,当处理一些比较麻烦的数据时,线性筛的作用就发挥出来了,核心在于去重,有兴趣博友可以去b站搜一下具体的讲解,这里不做阐述。

#include<bits/stdc++.h>
using namespace std;
//int isprime(int n);
const int maxn = 1e6;
int prime[maxn + 1];//放素数
bool isprime[maxn + 1];
int cnt = 0;//素数个数
void linesieve(int n)
{memset(isprime, true, sizeof(isprime));//全部弄成truefor (int i = 2; i <= n; i++){//遍历所有if (isprime[i]){prime[++cnt] = i;}for (int j = 1; j <= cnt && prime[j] * i <= n; ++j){isprime[prime[j] * i] = false;if (i % prime[j] == 0)break;}}for (int i = 2; i <= n; i++){if (isprime[i])cout << i << " " << endl;}
}
int main()
{int m;cin >> m;linesieve(m);return 0;
}

第五题:自定义函数处理最大公约数与最小公倍数

faabd99eb2db485a9b986a7a735b6023.png思路:

题目很简单,但也是基础说不定就考了呢,这里介绍辗转相除法求最大公约数和简单自增来求最小公倍数。求最大公倍数,首先要知道最大公倍数一定比这两个数都大,因此我们从a,b种大的数开始自增,直到这个数都能整除a,b,返回值即可。辗转相除法,有兴趣去b站学一下,这里不做阐述,给出代码,即先定义mod,每次循环,把b赋给a,把mod赋给b,直到b等于0跳出循环。

#include<bits/stdc++.h>
using namespace std;
int gcd(int a, int b);
int ret(int a, int b);
int main()
{int a, b;cin >> a >> b;int gcd1 = gcd(a, b);int ret1 = ret(a, b);cout << gcd1 << " " << ret1;return 0;
}
int gcd(int a, int b)
{int mod;while (b){mod = a % b;a = b;b = mod;}return a;
}
int ret(int a, int b)
{if (a > b)swap(a, b);//确保a最大int i;for (i = a;; i++){if (i % a == 0 && i % b == 0)break;}return i;
}

第六题:蓝桥杯2022-刷题统计

96c87fd1df914af1a4caacbca2fe41b0.png思路:

这道题虽然我只有80分,但还是想给大家介绍80 分的做法,就是学习这种分析,一步步整。首先我们要输出做题天数,并且周一到周五的做题量和周六周日不同,那么分开考虑,n为总题量,我们定义一个计数器,然后循环,条件为n>0.如果n<=0跳出循环,先遍历一周,i<5就每次n-a,并且在减之前判断n是否<0即可。

#include<bits/stdc++.h>
#pragma warning(disable:4996)
using namespace std;
const int N = 2022;
int main()
{long long a, b, n;scanf("%lld %lld %lld", &a, &b, &n);int cnt = 0;while (n>0){for (int i = 0; i < 7; i++){if (i < 5){if (n <= 0)break;else{n = n - a;cnt++;}}else{if (n <= 0)break;else{n = n - b;cnt++;}}}if (n <= 0)break;}cout << cnt;return 0;
}

第七题:输出矩阵

a3a149b0320f408690e9f06558e8d180.jpeg

 

分析:这个题比较抽象,方法也很多这里给大家介绍一种很好理解的就是,先遍历二维数组先全部放一个字母然后通过控制层数行数列数再来另一个字母来覆盖我们已经设置的字母。比方说

假设输入的N为3,那么我们需要生成一个大小为5x5的矩阵。下面是每一层中填充字符的过程:第0层:填充字符'A'
layer = 0,范围是从第0行到第4行,从第0列到第4列。
A A A A A
A A A A A
A A A A A
A A A A A
A A A A A
第1层:填充字符'B'
layer = 1,范围是从第1行到第3行,从第1列到第3列。
A A A A A
A B B B A
A B B B A
A B B B A
A A A A A
第2层:填充字符'C'
layer = 2,范围是第2行,第2列。
A A A A A
A B B B A
A B C B A
A B B B A
A A A A A
这样,通过不断递增layer和字符ch的方式,我们可以在每一层中正确地填充相应的字符。每次内层循环都会覆盖上一层填充的字符,所以最后得到了符合要求的矩阵。

即layer是来控制层级,从最外层到最内层结束,每一层使用两个嵌套循环i和j来遍历,i控制行,从layer开始到n*2-1-layer-1结束,在每个位置(i, j)处,将字符ch赋值给matrix[i][j],完成对该层的字符填充。接着,逐渐增加字符ch的值,以便在下一层填充不同的字符。通过这种方式,代码会按照层级从外到内的顺序,依次填充不同的字符。

#include <iostream>
using namespace std;int main() {int N;cin >> N; // 输入Nchar matrix[101][101];// 初始化矩阵for (int i = 0; i < N * 2 - 1; i++) {for (int j = 0; j < N * 2 - 1; j++) {matrix[i][j] = 'Z';}}// 填充字符char ch = 'A';for (int layer = 0; layer < N; layer++) {for (int i = layer; i < N * 2 - 1 - layer; i++) {for (int j = layer; j < N * 2 - 1 - layer; j++) {matrix[i][j] = ch;}}ch++;}// 输出矩阵for (int i = 0; i < N * 2 - 1; i++) {for (int j = 0; j < N * 2 - 1; j++) {cout << matrix[i][j];}cout << endl;}return 0;
}

第八题:平方矩阵

70115b46bc2c4830b8aea1be86491cdc.png

 

思路:乘热打铁,与上题类似,这道题应该如何处理,

#include <iostream>
using namespace std;int main()
{int N;while (cin >> N, N){int matrix[101][101];// 初始化矩阵for (int i = 0; i < N; i++) {for (int j = 0; j < N; j++) {matrix[i][j] = 1;}}// 填充字符int ch = 1;for (int layer = 0; layer < N; layer++){for (int i = layer; i < N - layer; i++){for (int j = layer; j < N - layer; j++){matrix[i][j] = ch;}}ch++;}// 输出矩阵for (int i = 0; i < N; i++) {for (int j = 0; j < N; j++) {cout << matrix[i][j] << " ";}cout << endl;}}return 0;
}

 

 

相关文章:

算法初阶双指针+C语言期末考试之编程题加强训练

双指针 常⻅的双指针有两种形式&#xff0c;⼀种是对撞指针&#xff0c;⼀种是左右指针。 对撞指针&#xff1a;⼀般⽤于顺序结构中&#xff0c;也称左右指针。 • 对撞指针从两端向中间移动。⼀个指针从最左端开始&#xff0c;另⼀个从最右端开始&#xff0c;然后逐渐往中间逼…...

【Spark基础】-- 宽窄依赖

目录 1、前言 2、宽窄依赖 2.1 窄依赖 2.2 宽依赖 3、宽窄转换的算子 1、前言 要理解宽窄依赖,首先我们需要了解 Transform...

Spatial Data Analysis(六):空间优化问题

Spatial Data Analysis&#xff08;六&#xff09;&#xff1a;空间优化问题 使用pulp库解决空间优化问题&#xff1a; pulp是一个用于优化问题的Python库。它包含了多种优化算法和工具&#xff0c;可以用于线性规划、混合整数线性规划、非线性规划等问题。Pulp提供了一个简单…...

PHP短信接口防刷防轰炸多重解决方案三(可正式使用)

短信接口盗刷轰炸&#xff1a;指的是黑客利用非法手段获取短信接口的访问权限&#xff0c;然后使用该接口发送大量垃圾短信给目标用户 短信验证码轰炸解决方案一(验证码类解决)-CSDN博客 短信验证码轰炸解决方案二(防止海外ip、限制ip、限制手机号次数解决)-CSDN博客 PHP短信…...

C#大型LIS检验信息系统项目源码

LIS系统&#xff0c;一套医院检验科信息系统。它是以数据库为核心&#xff0c;将实验仪器与电脑连接成网&#xff0c;基础功能包括病人样本登录、实验数据存取、报告审核、打印分发等。除基础功能外&#xff0c;实验数据统计分析、质量控制管理、人员权限管理、试剂出入库等功能…...

【C语言】数据在内存中的存储

目录 练笔 整型数据的存储&#xff1a; char 型数据——最简单的整型 整型提升&#xff1a; 推广到其他整形&#xff1a; 大小端&#xff1a; 浮点型数据的存储&#xff1a; 存储格式&#xff1a; 本篇详细介绍 整型数据&#xff0c;浮点型数据 在计算机中是如何储存的。…...

Java聊天程序(一对一)简单版

我们首先要完成服务端&#xff0c;不然出错&#xff0c;运行也要先运行服务端&#xff0c;如果不先连接服务端&#xff0c;就不监听&#xff0c;那客户端不知道连接谁 服务端 import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.Actio…...

Linux下超轻量级Rust开发环境搭建:一、安装Rust

Rust语言在国内逐步开始流行&#xff0c;但开发环境的不成熟依然困扰不少小伙伴。 结合我个人的使用体验&#xff0c;推荐一种超轻量级的开发环境&#xff1a;Rust Helix Editor。运行环境需求很低&#xff0c;可以直接在Linux终端里进行代码开发。对于工程不是太过庞大的Rus…...

定义一个学生类,其中有3个私有数据成员学号、姓名、成绩,以及若于成员。 函数实现对学生数据的赋值和输出。

#include <stdio.h> // 定义学生类 typedef struct Student { int stuNum; // 学号 char name[20]; // 姓名&#xff0c;假设最长为20个字符 float score; // 成绩 } Student; // 初始化学生信息 void initializeStudent(Student *student, int num, const…...

1.2 C语言简介

一、为什么要讲C语言 C语言是编程界的长青藤&#xff0c;可以查看语言排名发现&#xff0c;虽然现在语言很多&#xff0c;但是C语言一直占有一定地址 来源网站&#xff1a;https://www.tiobe.com/tiobe-index/ 在系统、嵌入式、底层驱动等领域存在一定的唯一性&#xff08;C语…...

小白学Java之数组问题——第三关黄金挑战

内容1.数组中出现次数超过一般的数字2.数组中出现一次的数字3.颜色分类问题 1.数组中出现次数超过一半的数字 这是剑指offer中的一道题目&#xff0c;数组中有一个数字出现的次数超过数组长度的一半&#xff0c;请找出这个数字。 例如&#xff1a;输入如下所示的一个长度为9…...

各大期刊网址

1.NeurIPS&#xff0c;全称Annual Conference on Neural Information Processing Systems&#xff0c; 是机器学习领域的顶级会议&#xff0c;与ICML&#xff0c;ICLR并称为机器学习领域难度最大&#xff0c;水平最高&#xff0c;影响力最强的会议&#xff01; NeurIPS是CCF 推…...

使用autodl服务器,在A40显卡上运行, Yi-34B-Chat-int4模型,并使用vllm优化加速,显存占用42G,速度18 words/s

1&#xff0c;演示视频 https://www.bilibili.com/video/BV1gu4y1c7KL/ 使用autodl服务器&#xff0c;在A40显卡上运行&#xff0c; Yi-34B-Chat-int4模型&#xff0c;并使用vllm优化加速&#xff0c;显存占用42G&#xff0c;速度18 words/s 2&#xff0c;关于A40显卡&#xf…...

unity 2d 入门 飞翔小鸟 下坠功能且碰到地面要停止 刚体 胶囊碰撞器 (四)

1、实现对象要受重力 在对应的图层添加刚体 改成持续 2、设置胶囊碰撞器并设置水平方向 3、地面添加盒状碰撞器 运行则能看到小鸟下坠并落到地面上...

速达软件任意文件上传漏洞复现

简介 速达软件专注中小企业管理软件,产品涵盖进销存软件,财务软件,ERP软件,CRM系统,项目管理软件,OA系统,仓库管理软件等,是中小企业管理市场的佼佼者,提供产品、技术、服务等信息,百万企业共同选择。速达软件全系产品存在任意文件上传漏洞,未经身份认证得攻击者可以通过此漏…...

Name or service not knownstname

Name or service not knownstname Hadoop 或 Spark 集群启动时 报错 Name or service not knownstname 原因时因为 workers 文件在windows 使用图形化工具打开过 操作系统类型不对引发的 在Linux系统上删除 workers 文件 使用 vim 重新编辑后分发即可...

[Geek Challenge 2023] web题解

文章目录 EzHttpunsignn00b_Uploadeasy_phpEzRceezpythonezrfi EzHttp 按照提示POST传参 发现密码错误 F12找到hint&#xff0c;提示./robots.txt 访问一下&#xff0c;得到密码 然后就是http请求的基础知识 抓包修改 最后就是 我们直接添加请求头O2TAKUXX: GiveMeFlag 得到…...

【recrutment / Hiring / Job / Application】

Interviewee I), objected/targeted job/position1.1) Azure 平台运维工程师&#xff08;comms&social&#xff09;1.1.1), comms communication and social, for talk, content1.1.2) Cloud computing1.1.3) 拥有ITI/MCSE/RHCE相关认证或Azure认证(如Az204/Az304 have/own…...

二极管:ESD静电保护二极管

一、什么是ESD二极管 ESD二极管与 TVS二极管原理是一样的&#xff0c;也是为了保护电&#xff0c;但ESD二极管的主要功能是防止静电。 静电防护的前提条件就要求其电容值要足够地低&#xff0c;一般在1PF-3.5PF之间最好&#xff0c;主要应用于板级保护。 二、什么是静电 静…...

【根据数组元素生成随机颜色函数】

const colorOptions ["#f50","#2db7f5","#87d068","#108ee9",];const getRandomColor () > {const randomIndex Math.floor(Math.random() * colorOptions.length);return colorOptions[randomIndex];}; 时小记&#xff0c;终有…...

鸿蒙一出,android开发处境再受重创

华为宣布其自研操作系统鸿蒙HarmonyOSNEXT开发者预览版将不再兼容安卓系统&#xff0c;这一消息引起了广泛关注和热议。这一决策标志着华为正式告别安卓&#xff0c;摆脱了外部的制约&#xff0c;开始着手打造一个全新的生态系统。 鸿蒙系统4发布一个月&#xff0c;截至目前&a…...

ruoyi+Hadoop+hbase实现大数据存储查询

前言 有个现实的需求&#xff0c;数据量可能在100亿条左右。现有的数据库是SQL Server&#xff0c;随着采集的数据不断的填充&#xff0c;查询的效率越来越慢&#xff08;现有的SQL Server查询已经需要数十秒钟的时间&#xff09;&#xff0c;看看有没有优化的方案。 考虑过S…...

Word 在页眉或页脚中设置背景颜色

目录预览 一、问题描述二、解决方案三、参考链接 一、问题描述 如何在word的页眉页脚中设置背景色&#xff1f; 二、解决方案 打开 Word 文档并进入页眉或页脚视图。在 Word 2016 及更高版本中&#xff0c;你可以通过在“插入”选项卡中单击“页眉”或“页脚”按钮来进入或者…...

python获取js data.now同款时间戳

import requestsimport time from datetime import datetimecu_t datetime.now() se cu_t.timestamp()*1000 se int(se) print(se)#cur_time time.time()*1000 #seconds int(cur_time) #print(seconds)...

线上超市小程序可以做什么活动_提升用户参与度与购物体验

标题&#xff1a;线上超市小程序&#xff1a;精心策划活动&#xff0c;提升用户参与度与购物体验 一、引言 随着移动互联网的普及&#xff0c;线上购物已经成为人们日常生活的一部分。线上超市作为线上购物的重要组成部分&#xff0c;以其便捷、快速、丰富的商品种类和个性化…...

旺店通:API无代码开发的集成解决方案,连接电商平台、CRM和客服系统

集成电商生态&#xff1a;旺店通的核心优势 在数字化转型的浪潮中&#xff0c;旺店通旗舰版奇门以其无代码开发的集成解决方案&#xff0c;正成为电商领域的关键变革者。商家们通过旺店通可以轻松实现与电商平台、CRM系统和客服系统的连接&#xff0c;无需深入了解复杂的API开…...

命令查询pg 数据库版本,并且分析结果行各代表什么意思

目录 1 问题2 实现 1 问题 命令查询pg 数据库版本&#xff0c;并且分析结果行各代表什么意思 2 实现 SELECT version(); PostgreSQL 11.7 (Debian 11.7-2.pgdg1001) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit这是一条关于 PostgreSQL 数据库…...

Elaticsearch 学习笔记

文章目录 Elaticsearch 学习笔记一、什么是 Elaticsearch &#xff1f;二、Elaticsearch 安装1 es 安装2 问题解决3 数据格式 三、索引操作1 PUT 请求&#xff1a;在postman中&#xff0c;向 ES 服务器发 PUT 请求&#xff08;PUT请求相当于创建的意思&#xff09;2 GET 请求&a…...

计算机网络体系的形成

目录 1、开放系统互连参考模型OSI/RM 2、两种国际标准 3、协议与划分层次 4、网络协议的三要素 5、划分层次 &#xff08;1&#xff09;文件发送模块使两个主机交换文件 &#xff08;2&#xff09;通信服务模块 &#xff08;3&#xff09;接入网络模块 6、分层带来的好…...

PyTorch 基础篇(1):Pytorch 基础

Pytorch 学习开始 入门的材料来自两个地方&#xff1a; 第一个是官网教程&#xff1a;WELCOME TO PYTORCH TUTORIALS&#xff0c;特别是官网的六十分钟入门教程 DEEP LEARNING WITH PYTORCH: A 60 MINUTE BLITZ。 第二个是韩国大神 Yunjey Choi 的 Repo&#xff1a;pytorch-t…...

掌握Selenium4:详解各种定位方式

Selenium4中有多种元素定位方式&#xff0c;主要包括以下几种&#xff1a; 通过ID属性定位&#xff1a;根据元素的id属性进行定位。通过name属性定位&#xff1a;当元素没有id属性而有name属性时&#xff0c;可以使用name属性进行元素定位。通过class name定位&#xff1a;可以…...

go-fastfds部署心得

我是windows系统安装 Docker Desktop部署 docker run --name go-fastdfs&#xff08;任意的一个名称&#xff09; --privilegedtrue -t -p 3666:8080 -v /data/fasttdfs_data:/data -e GO_FASTDFS_DIR/data sjqzhang/go-fastdfs:lastest docker run&#xff1a;该命令用于运…...

Python第三次练习

Python 一、如何判断一个字符串是否是另一个字符串的子串二、如何验证一个字符串中的每一个字符均在另一个字符串中出现三、如何判定一个字符串中既有数字又有字母四、做一个注册登录系统 一、如何判断一个字符串是否是另一个字符串的子串 实现代码&#xff1a; string1 inp…...

从Java8升级到Java17,特色优化点

从Java8升级到Java17&#xff0c;特色优化点 一、局部变量类型推断二、switch表达式三、文本块四、Records五、模式匹配instanceof六、密封类七、NullPointerException 从Java 8 到 Java 20&#xff0c;Java 已经走过了漫长的道路&#xff0c;自 Java 8 以来&#xff0c;Java 生…...

js实现富文本

当涉及到使用 JavaScript 实现富文本时&#xff0c;一种常见的方法是使用一些现成的富文本编辑器库&#xff0c;比如&#xff1a; Quill&#xff1a;一个功能强大、易于集成的富文本编辑器&#xff0c;支持自定义样式和格式&#xff0c;提供丰富的插件和API。 TinyMCE&#xf…...

每日OJ题_算法_双指针②_力扣1089. 复写零

目录 力扣1089. 复写零 解析代码 力扣1089. 复写零 1089. 复写零 - 力扣&#xff08;LeetCode&#xff09; 难度 简单 给你一个长度固定的整数数组 arr &#xff0c;请你将该数组中出现的每个零都复写一遍&#xff0c;并将其余的元素向右平移。 注意&#xff1a;请不要在…...

C++——红黑树

作者&#xff1a;几冬雪来 时间&#xff1a;2023年12月7日 内容&#xff1a;C——红黑树讲解 目录 前言&#xff1a; 红黑树的概念&#xff1a; 红黑树的性质&#xff1a; 红黑树的路径计算&#xff1a; 最长路径和最短路径&#xff1a; AVL树与红黑树的区别&#xff…...

【神化世界】asp网页500内部服务器错误的解决方法

问题解决方案记录 一、问题 在asp网页调试的时候&#xff0c;不小心改错了&#xff0c;好好的页面突然出现如下错误信息了&#xff1a; 二、解决方法 终于找到了问题所在&#xff0c;是sql语句出错造成的&#xff0c;特别记录一下。 正确的写法 sql"select * from mem…...

java面试题6

1.什么是Java中的泛型&#xff08;Generic&#xff09;&#xff1f; 答案&#xff1a;泛型是一种参数化类型的机制&#xff0c;在编译时提供类型安全性检查和重用代码的能力。使用泛型可以在编译时检测类型错误&#xff0c;并减少类型转换的需要。 2.Java中的反射&#xff08;…...

(03)vite 处理 css

文章目录 系列全集vite 处理css流程vite如何解决协同开发&#xff0c;样式重复覆盖的问题&#xff1f;使用less通过配置&#xff0c;更改vite的css默认行为vite 利用postcss样式兼容低版本浏览器 系列全集 &#xff08;01&#xff09;vite 从启动服务器开始 &#xff08;02&am…...

阿里云上传文件出现的问题解决(跨域设置)

跨域设置引起的问题 起因&#xff1a;开通对象存储服务后&#xff0c;上传文件限制在5M 大小&#xff0c;无法上传大文件。 1.查看报错信息 2.分析阿里云服务端响应内容 <?xml version"1.0" encoding"UTF-8"?> <Error><Code>Invali…...

利用JavaFX生成验证码图片

以下是一个基于 JavaFX 的验证码图片生成小程序的示例代码: import javafx.application.Application; import javafx.embed.swing.SwingFXUtils; import javafx.scene.Scene; import javafx.scene.canvas.Canvas; import javafx.scene.canvas.GraphicsContext; import javafx…...

6-55.汽车类的继承

根据给定的汽车类vehicle&#xff08;包含的数据成员有车轮个数wheels和车重weight&#xff09;声明&#xff0c;完成其中成员函数的定义&#xff0c;之后再定义其派生类并完成测试。 小车类car是它的派生类&#xff0c;其中包含载人数passenger_load。每个类都有相关数据的输出…...

SCI论文——respectively用法

respectively用于配对两组&#xff08;三组&#xff09;事物&#xff0c;表明后一组与前一组按照相同的顺序排列&#xff0c;从而使句意明确。一般是在句子的最后&#xff0c;而且在respectively的前面需要一个逗号“,” 一 、两组事物&#xff1a; 原则是尽可能靠近第二组的…...

解决方案 | 法大大电子签约加速农牧业数字化进程

近年来&#xff0c;我国农业技术得到快速发展&#xff0c;并开发出一批实用的数字农业技术产品&#xff0c;建立了专用网络数字农业技术平台。数字农业是农业现代化的高级阶段&#xff0c;是创新推动农业农村信息化发展的有效手段&#xff0c;也是我国由农业大国迈向农业强国的…...

设计模式之GoF23介绍

深入探讨设计模式&#xff1a;构建可维护、可扩展的软件架构 一、设计模式的背景1.1 什么是设计模式1.2 设计模式的历史 二、设计模式的分类2.1 创建型模式2.2 结构型模式2.3 行为型模式 三、七大设计原则四、设计模式关系结论 :rocket: :rocket: :rocket: 在软件开发领域&…...

UDP协议实现群聊

服务端 import java.io.*; import java.net.*; import java.util.ArrayList; public class Server{public static ServerSocket server_socket;public static ArrayList<Socket> socketListnew ArrayList<Socket>(); public static void main(String []args){try{…...

lombok原理 @Slf4j 怎么生成get set log

Lombok是一种Java库&#xff0c;通过注解的方式提供了许多有用的功能&#xff0c;包括生成Getter、Setter、日志等。Slf4j注解是Lombok中的一种&#xff0c;它用于自动生成日志记录器&#xff08;Logger&#xff09;。 下面简要介绍一下Lombok的原理&#xff0c;以及Slf4j注解…...

【目标检测】进行实时检测计数时,在摄像头窗口显示实时计数个数

这里我是用我本地训练的基于yolov8环境的竹签计数模型&#xff0c;在打开摄像头窗口增加了实时计数显示的代码&#xff0c;可以直接运行&#xff0c;大家可以根据此代码进行修改&#xff0c;其底层原理时将检测出来的目标的个数显示了出来。 该项目链接&#xff1a;【目标检测…...

SpringBoot第56讲:SpringBoot集成文件 - 集成EasyExcel之Excel导入导出

集成EasyExcel之Excel导入导出 EasyExcel是一个基于Java的、快速、简洁、解决大文件内存溢出的Excel处理工具。它能让你在不用考虑性能、内存的等因素的情况下,快速完成Excel的读、写等功能。它是基于POI来封装实现的,主要解决其易用性,封装性和性能问题。本文是SpringBoot第…...