蓝桥杯知识总结
文章目录
- 1.常用的数学方法
- 2.大小写转换
- 3.数组和集合排序
- 数组排序
- 集合排序
- 4.控制小数位数
- 5.栈
- 6.队列
- 7.字符串相关方法
- 8.十进制转n进制模板
- 字符转为十进制
- 某进制转化为十进制
- 9.前缀和
- 10.差分
- 11.离散化
- 12.双指针
- 13.二分
- 14.枚举模板
- 组合型枚举模板
- 排列型枚举模板
- 15.搜索算法
- BFS
- DFS
- 16.快速幂
- 17.小结论总结
1.常用的数学方法
方法 | 返回值 | 功能描述 |
---|---|---|
max (double a,double b) | double | 取a与b之间的最大值 |
min (int a,int b) | int | 取a与b之间的最小值 |
abs (int a) | int | 返回整数参数的绝对值 |
sqrt (double a) | double | 用于取a的平方根,其中a不能为负值 |
cbrt (double a) | double | 用于取a的立方根 |
pow(double a,double b) | double | 用于取a的b次方 |
round() | 四舍五入 |
2.大小写转换
📕转换方法
String
类的toLowerCase()
方法将字符串中的字母全部转换为小写
String
类的toUpperCase()
方法将字符串中的字母全部转换为大写
📕异或转换
如果要将字符串内某个英文大写字符转换为小写,或小写转为大写,更简便的方法就是异或转换
了,方法如下:
一个字符a异或数字32就可以完成大小写转换
实例:
char A='a'^32;
char a='A'^32;
是不是有人跟我一样,疑问为什么要异或32
,这是因为啊,在ASCII
表里,第一个大写字母与第一个小写字母之间的ASCII
值刚好相差32
,而不是26
3.数组和集合排序
数组排序
- 方法一:升序
Arrays.sort(int[] a)
:对一个数组所有元素进行从小到大
排序
import java.util.Arrays;public class Main {public static void main(String[] args) {int[] a={9,8,7,5,3,6,2,1,0};Arrays.sort(a);for(int i=0;i<a.length;i++){System.out.print(a[i]+" ");}}
}
- 方法二:用
Comparator
接口实现自定义排序规则
例如降序
import java.util.Arrays;
import java.util.Comparator;public class Main {public static void main(String[] args) {//不能使用基本类型intInteger[] a={9,8,7,5,3,6,2,1,0};//降序Arrays.sort(a, new Comparator<Integer>() {//重写compare方法@Overridepublic int compare(Integer o1, Integer o2) {//返回值>0交换//如果我们要升序排序,下面return写o1-o2就行return o2-o1;}});System.out.println(Arrays.toString(a));}
}
- 方法三:用
lambda
实现升序或降序
例如升序
import java.util.Arrays;public class Main {public static void main(String[] args) {//不能使用基本类型intInteger[] a={9,8,7,5,3,6,2,1,0};//如果降序的话,下面就是o2-o1//升序Arrays.sort(a,(o1,o2)->o1-o2);for(int i=0;i<a.length;i++){System.out.print(a[i]+" ");}}
}
集合排序
- 方法一:升序
Collections.sort(List<> a)
:对一个集合所有元素进行从小到大
排序
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;public class Main {public static void main(String[] args) {List<Integer> list=new ArrayList<>();list.add(5);list.add(9);list.add(4);list.add(8);list.add(2);list.add(1);list.add(7);Collections.sort(list);for(int i=0;i<list.size();i++){System.out.print(list.get(i)+" ");}}
}
- 方法二:用
Comparator
接口实现自定义排序规则
例如降序
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;public class Main {public static void main(String[] args) {List<Integer> list=new ArrayList<>();list.add(5);list.add(9);list.add(4);list.add(8);list.add(2);list.add(1);list.add(7);Collections.sort(list, new Comparator<Integer>() {//重写compare方法@Overridepublic int compare(Integer o1, Integer o2) {//返回值>0交换//如果我们要升序排序,下面return写o1-o2就行return o2-o1;}});for(int i=0;i<list.size();i++){System.out.print(list.get(i)+" ");}}
}
- 方法三:用
lambda
实现升序或降序
例如降序
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;public class Main {public static void main(String[] args) {List<Integer> list=new ArrayList<>();list.add(5);list.add(9);list.add(4);list.add(8);list.add(2);list.add(1);list.add(7);Collections.sort(list,(o1,o2)->o2-o1);for(int i=0;i<list.size();i++){System.out.print(list.get(i)+" ");}}
}
4.控制小数位数
在Java中,可以使用 String.format()
方法来控制输出的小数位数
例如:保留两位小数
public class GDPComparison {public static void main(String[] args) {double growthRate = 0.07; // 年增长率为7%int years = 10; // 年数为10年double comparison = Math.pow(1 + growthRate, years);double percentageIncrease = (comparison - 1) * 100; // 计算增长百分比// 格式化输出保留两位小数String formattedPercentage = String.format("%.2f", percentageIncrease);String formattedComparison = String.format("%.2f", comparison);System.out.println("10年后国民生产总值与现在相比增长了 " + formattedPercentage + "%");System.out.println("10年后国民生产总值与现在相比的倍数为 " + formattedComparison);}
}
5.栈
Stack
实例化步骤
1.导包,导入import java.util.*
2.实例化对象Stack<引用数据类型> stack=new Stack<>();
对于Stack
存储数据,是先进后出
.比如1,2,3依次入栈,出栈顺序是3,2,1
📕常用方法
Object push(Object element)
把对象压入堆栈顶部
Object pop()
移除堆栈顶部的对象,并作为此函数的值返回该对象
Object peek()
查看堆栈顶部的对象,但不从堆栈中移除它
boolean isEmpty()
测试堆栈是否为空
6.队列
Queue
实例化步骤
1.导包,导入import java.util.*
2.通过LinkedList
类创建对象,Queue<引用数据类型> queue=new LinkedList<>();
对于Queue
存储数据,是先进先出
.比如1,2,3依次入栈,出栈顺序是1,2,3
📕常用方法
boolean add(Object element)
从队尾压入元素,返回是否压入成功
Object poll()
删除并返回队头被删除的那个元素
Object peek()
返回队头元素,但是不删除
boolean isEmpty()
测试队列是否为空
7.字符串相关方法
🍓转化为字符数组
String s="ffffewgweegewr32d";char[] ch = s.toCharArray();
8.十进制转n进制模板
public static String con(int x,int n){StringBuilder str1=new StringBuilder();while(x>0){str1.append(x%n);//获取每一位的值x/=n;}return str1.reverse().toString();//返回反转字符串}
字符转为十进制
public class Main {public static void main(String[] args) {String input = "*+";int codePoint = input.codePointAt(0);// 获取字符串中第一个字符的 Unicode 码点int codePoint1 = input.codePointAt(1);// 获取字符串中第一个字符的 Unicode 码点System.out.println("字符: " + input.charAt(0) + ", 十进制值: " + codePoint);System.out.println("字符: " + input.charAt(1) + ", 十进制值: " + codePoint1);}
}
某进制转化为十进制
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);String rs="2022";System.out.println(Integer.parseInt(rs,某进制));scan.close();}
}
9.前缀和
前缀和作用:在O(1)的时间求出数组任意区间的区间和
🍓算法模板
int n=10;int[] arr=new int[n];long[] sum=new long[n+1];for (int i = 1; i <=n; i++) {sum[i]=sum[i-1]+arr[i-1];}
10.差分
差分的用处主要在于:快速将数组A的区间[l,r]
加d(即把Al,A(l+1)…Ar这几个元素各加上d)
🍓算法模板
public static void chaifen1(int[] arr,int l,int r,int d) {arr[l]+=d;arr[r+1]-=d;//对差分数组求前缀和,还原序列for(int i=1;i<n;i++) {diff[i]+=diff[i-1];}}
11.离散化
🍓例题
import java.util.*;public class Main {public static void main(String[] args) {Scanner sc=new Scanner(System.in);int n = sc.nextInt();int []arr=new int[n];int []a=new int[n];Set<Integer> set=new HashSet<>();for (int i = 0; i <n; i++) {arr[i]=sc.nextInt();a[i]=arr[i];}Arrays.sort(a);Map<Integer,Integer>map=new HashMap<>();for (int i = 0; i < n; i++) {set.add(a[i]);map.put(a[i], set.size());}for (int i = 0; i < n; i++) {System.out.print(map.get(arr[i])+" ");}}
}
12.双指针
双指针
通常用于在数组或字符串中进行快速查找、匹配、排序或移动
操作。
双指针并非真的用指针实现,一般用两个变量来表示下标(在后面都用指针来表示)
,双指针算法使用两个指针在数据结构上进行迭代,并根据问题的要求移动这些指针。
双指针往往也和单调性、排序
联系在一起,在数组的区间问题上,暴力法的时间复杂度往往是O(n^2)的,但双指针利用单调性
可以优化到O(n)
🍌常见的双指针模型有:
(1)对撞指针
(2)快慢指针
-
对撞指针
指的是两个指针left
、right
(简写为l, r)分别指向序列第一个元素
和最后一个元素
,然后l
指针不断递增,r
不断递减,直到两个指针的值相撞或错开(即l >=r
),或者满足其他要求的特殊条件为止。
对撞指针
一般用来解决有序数组或者字符串
问题(常见于区间
问题):
查找有序数组中满足某些约束条件的一组元素问题:比如二分查找、数字之和
等问题,字符串反转问题:反转字符串、回文数
等问题。 -
快慢指针
快慢指针一般比对撞指针更难想,也更难写。
指的是两个指针从同一侧开始遍历序列
,且移动的步长一个快一个慢。移动快的指针被称为快指针,移动慢的指针被称为慢指针。
为了方便理解,我们称快指针为r
,慢指针为l
,这样慢指针和快指针构成区间[l,r]
两个指针以不同速度、不同策略移动,直到快指针移动到数组尾端,或者两指针相交
,或者满足其他特殊条件时为止。
13.二分
二分算法:
是用来在一个有序数组中查找某一元素的算法,时间复杂度O(log n)
在数学上的解释:对于区间[a, b]
上单调的函数y=f(x)
,通过不断地把函数f(x)的区间一分为二,使区间的两个端点逐步逼近,进而得到近似值的方法叫二分法
🍓二分的模板(一)
查找当前有序数组中大于等于x的第一个数
int[] arr={1,2,3,4,5};int l=0,r=arr.length-1;int x=2;while (l<r){int mid=(l+r)/2;//取区间中间位置靠左的值if(arr[mid]>=x)r=mid;//区间向左缩短一半else l=mid+1;//区间向右缩短一半}
🍓二分的模板(二)
查找当前有序数组中小于等于x的最后一个数
int[] arr={1,2,3,4,5};int l=0,r=arr.length-1;int x=2;while (l<r){int mid=(l+r+1)/2;//取区间中间位置靠右的值if(arr[mid]>x)r=mid-1;//区间向左缩短一半else l=mid;//区间向右缩短一半}
🍓整数二分法常用模板
// 在单调递增序列a中查找>=x的数中最小的一个(即x或x的后继)
while (low < high) {int mid = (low + high) / 2;if (a[mid] >= x)high= mid;elselow = mid + 1;
}// 在单调递增序列a中查找<=x的数中最大的一个(即x或x的前驱)
while (low < high) {int mid = (low + high + 1) / 2;if (a[mid] <= x)low = mid;elsehigh = mid - 1;}
14.枚举模板
组合型枚举模板
组合型枚举则是在n个元素中随机选出 m个元素的问题。对于每一种可能的选择方案,我们需要确定选择了哪m个元素,这就是组合型枚举,即从n个元素中选择m个元素的组合数量。
🍓Python
chosen = []
n = 0
m = 0def calc(x):if len(chosen) > m:returnif len(chosen) + n - x + 1 < m:returnif x == n + 1:for i in chosen:print(i,end=' ')print('')returnchosen.append(x)calc(x + 1)chosen.pop()calc(x + 1)if __name__ == '__main__':tem = input().split()n = int(tem[0])m = int(tem[1])calc(1)
🍓java
import java.util.Scanner;
import java.util.Vector;
public class Main {static int n;static int m;//选m个数static Vector<Integer> chosen = new Vector<Integer>();static void calc(int x) {if (chosen.size() > m || chosen.size() + (n - x + 1) < m) //剪枝return;if (x == n + 1) { //选够了m个数输出String ansTem = "";for (int i = 0; i < chosen.size(); i++)System.out.print(chosen.get(i)+" ");System.out.println("");return;}chosen.addElement(x);calc(x + 1);chosen.remove((Object)x);calc(x + 1);}public static void main(String[] args) {Scanner in = new Scanner(System.in);n = in.nextInt();m = in.nextInt();calc(1);}
}
🍓c语言
#include<bits/stdc++.h>
using namespace std;
int n;//共计N个数
int m;//选m个数
vector<int> chosen;
string s[1000];
void calc(int x) {if (chosen.size() > m || chosen.size() + (n - x + 1) < m) //剪枝return;if (x == n + 1) { //选够了m个数输出for (int i = 0; i < chosen.size(); i++)cout<< s[chosen[i]]<<" ";//也可以不输出,存放起来也是可以的,主要是看题目。puts("");return;}chosen.push_back(x);calc(x + 1);chosen.pop_back();//消除痕迹calc(x + 1);
}
int main()
{cin>>n>>m;for(int i=1;i<=n;i++){cin>>s[i];}calc(1);
}
排列型枚举模板
🍓Python
order = [0] * 20
chosen = [0] * 20
n = 0
def calc(x):if x == n + 1:ansTem = ''for i in range(1, n + 1):print(order[i],end=' ')print('')returnfor i in range(1,n+1):if(chosen[i]==1) :continueorder[x]=ichosen[i]=1calc(x+1)chosen[i]=0order[x]=0
if __name__ == '__main__':n = int(input())# print(name)calc(1)
🍓C语言
int n; //共计N个数
int order[20];
bool chosen[20];
void calc(int k)
{if (k == n + 1){for (int i = 1; i <= n; i++)cout << order[i] << " ";puts("");return;}for (int i = 1; i <= n; i++){if (chosen[i])continue;order[k] = i;chosen[i] = 1;calc(k + 1);chosen[i] = 0;order[k] = 0;}
}
int main()
{cin >> n;calc(1);
}
🍓java
static int n;static int[] order =new int[20];static boolean[] chosen =new boolean[20];static Vector<String> name=new Vector<>();static <object> void calc(int x) {if (x == n + 1) { //选够了m个数输出String ansTem = "";for (int i = 1; i <=n ; i++)System.out.println(order[i]);return;}for (int i = 1; i <= n; i++) {if (chosen[i]) continue;order[x] = i;chosen[i] =true;calc(x + 1);chosen[i] = false;order[x] = 0;}}public static void main(String[] args) {Scanner in = new Scanner(System.in);n = in.nextInt();for (int i = 0; i < n; i++) {String s;s=in.next();name.addElement(s);}calc(1);}
15.搜索算法
BFS
宽度优先搜索(广度优先搜索)
DFS
深度优先搜索
16.快速幂
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);long b=scanner.nextLong(),p=scanner.nextLong(),k=scanner.nextLong();System.out.println(fastPow(b,p,k));scanner.close();}public static long fastPow(long a,long n,long mod) {long ans=1;a%=mod;//重要,防止下面的ans*a越界while(n>0) {if((n&1)==1) {ans=(ans*a)%mod;//取模}a=(a*a)%mod;//取模n>>=1;}return ans;}
}
17.小结论总结
🍓例题
对于互质的两个数a和b,其不能组成的最大整数为a*b-a-b
🍓同余定理
同余定理——想要 b - a为 k 的倍数,只需要确保 b 和 a 模 k 相同即可
相关文章:
蓝桥杯知识总结
文章目录 1.常用的数学方法2.大小写转换3.数组和集合排序数组排序集合排序 4.控制小数位数5.栈6.队列7.字符串相关方法8.十进制转n进制模板字符转为十进制某进制转化为十进制 9.前缀和10.差分11.离散化12.双指针13.二分14.枚举模板组合型枚举模板排列型枚举模板 15.搜索算法BFS…...
leetcode:2839. 判断通过操作能否让字符串相等 I(python3解法)
难度:简单 给你两个字符串 s1 和 s2 ,两个字符串的长度都为 4 ,且只包含 小写 英文字母。 你可以对两个字符串中的 任意一个 执行以下操作 任意 次: 选择两个下标 i 和 j 且满足 j - i 2 ,然后 交换 这个字符串中两个…...
Python Lambda表达式详解
Python Lambda表达式详解 1. Lambda是什么? Lambda是Python中用于创建匿名函数(没有名字的函数)的关键字,核心特点是简洁。它适用于需要临时定义简单函数的场景,或直接作为参数传递给高阶函数(如map()、f…...
Matlab 平衡车的建模与控制
1、内容简介 Matlab 189-平衡车的建模与控制 可以交流、咨询、答疑 2、内容说明 略 平衡车的建模与控制 选择一款平衡车(如:小米九号平衡车等),并估计平衡车的关键参数。完成以下工作: 1. 建立平衡车模型…...
KWDB创作者计划—KWDB关系库与时序库混搭
📢📢📢📣📣📣 作者:IT邦德 中国DBA联盟(ACDU)成员,10余年DBA工作经验 Oracle、PostgreSQL ACE CSDN博客专家及B站知名UP主,全网粉丝10万 擅长主流Oracle、MySQL、PG、高斯…...
Android studio2024的第一个安卓项目
目录 一、创建项目 1、创建Empty Views Activity类型项目 2、Android项目结构解析 manifests 目录: Gradle Scripts目录 3、创建安卓应用 二、测试 1、模拟器测试效果 2、连接真机,然后直接选择真机运行即可(点击Run或Shift F10运行…...
航电系统之障碍物监测技术篇
航电系统的障碍物监测技术是保障飞行安全、提升飞行效率的核心技术之一,尤其在复杂环境和低空飞行中发挥着关键作用。以下从技术原理、传感器类型、数据处理与应用等方面进行系统介绍: 一、技术原理 航电系统的障碍物监测技术通过多传感器融合和智能算法…...
网站DDoS防护方案——构建企业级安全屏障的关键路径
本文深度解析DDoS攻击最新演变趋势与防御技术体系,通过攻击特征图谱、云原生防护架构、混合防御模型等维度,揭示企业级网站防护方案的设计逻辑。结合2023年金融行业千万级QPS攻击事件,引用Gartner最新防御技术成熟度曲线,给出可落…...
Linux系统使用lshw生成硬件报告方法
使用 lshw 生成 HTML 硬件报告指南 一、工具简介 lshw(List Hardware)是 Linux 系统下用于检测并报告硬件详细信息的命令行工具,支持输出多种格式(文本、HTML、XML 等)。 核心功能: 显示 CPU、内存、磁盘、PCI/USB 设备等完整硬件信息生成结构化报告,便于存档或分析支…...
力扣 905 按奇偶排序数组:双指针法的优雅实现
目录 问题背景 题目解析 解题思路 暴力解法 双指针法 代码实现 代码解析 算法效率 实际应用场景 总结 问题背景 在编程的世界里,数组排序问题一直是经典中的经典。今天我们要解决的是一个有趣的变种:按奇偶排序数组。题目要求我们将一个整数数…...
LeetCode hot 100—子集
题目 给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 示例 1: 输入:nums [1,2,3] 输出:[[],[1],[2…...
BERT - BertTokenizer, BertModel API模型微调
本节代码将展示如何在预训练的BERT模型基础上进行微调,以适应特定的下游任务。 ⭐学习建议直接看文章最后的需复现代码,不懂得地方再回看 微调是自然语言处理中常见的方法,通过在预训练模型的基础上添加额外的层,并在特定任务的…...
通过代码获取接口文档工具
通过代码获取接口文档工具 介绍使用到的技术使用说明核心源码演示截图工具源码 介绍 1.通过前后端代码来生成规格化的接口文档 2.支持拖拽上传或点击选择文件,可以一次选择多个文件或选择文件夹 3.用户选择前后端代码,工具调用GPT解析,得到规…...
不再卡顿!如何根据使用需求挑选合适的电脑内存?
电脑运行内存多大合适?在选购或升级电脑时,除了关注处理器的速度、硬盘的容量之外,内存(RAM)的大小也是决定电脑性能的一个重要因素。但究竟电脑运行内存多大才合适呢?这篇文章将帮助你理解不同使用场景下适…...
leetcode589 N叉树的前序遍历
前序遍历的顺序是:根节点 -> 子节点1 -> 子节点2 -> ... -> 子节点N 递归: class Solution { private:void traverse(Node* cur, vector<int>& res){if(cur NULL) return;res.push_back(cur->val);for(Node* child: cur->…...
游戏引擎学习第216天
回顾并为当天做准备 你可以看到,游戏现在正在运行。如果我没记错的话,我们之前把调试系统关闭了,留下一个状态,让任何想要在这段时间内进行实验的人可以自由操作,因为我们还没有完全完成这个系统。所以这样做是为了确…...
JavaSE反射机制干货
1.反射(Relection) 理解 定义:程序运行状态,动态地获取程序信息及调用程序功能即为java反射机制 2.获取class对象 掌握 2.1 Java代码的3个阶段 Java代码在计算机中经历的三个阶段:Source源代码阶段-Class类对象阶段-Runt…...
[特殊字符] 第十一讲 | 空间回归模型实战:SAR / SEM / GWR逐个击破
📘 专栏:科研统计方法实战分享 | 地学/农学人的数据分析工具箱 ✍️ 作者:平常心0715 🔑 本讲关键词:空间滞后模型(SAR)、空间误差模型(SEM)、地理加权回归(G…...
AI前沿周报:2025年3月技术深度解析
以下是基于2024-2025年AI技术前沿动态的深度技术周报示例,结合行业最新突破与研究进展,突出技术原理与应用场景分析: AI前沿周报:2025年3月技术深度解析 时间范围:2025年3月1日-3月31日 本期焦点:模型透明…...
aidigu开源微博项目程序,PHP开发的开源微博系统,自媒体个人创业、网盘推广首先
一、软件介绍 文末提供程序和源码下载学习 PHP开发的开源微博系统,采用PHP MySQL开发,框架采用ThinkPHP5.1,用户登录后拥有专属ID,支持表情、关注用户,网盘分享等功能,支持图片上传,视频上传,网盘存储分享…...
Tabnet介绍(Decision Manifolds)和PyTorch TabNet之TabNetRegressor
Tabnet介绍(Decision Manifolds)和PyTorch TabNet之TabNetRegressor Decision ManifoldsTabNet1.核心思想2. 架构组成3. 工作流程4. 优点PyTorch TabNetTabNetRegressor参数1. 模型相关参数`n_d``n_a``n_steps``gamma``cat_idxs``cat_dims``cat_emb_dim`2. 训练相关参数`opti…...
格瑞普Tattu正式成为2025年中国无人机竞速联赛官方赞助商!
格瑞普Tattu正式成为2025年中国无人机竞速联赛官方赞助商! 为飞手赋能,为赛事护航! Tattu是深圳市格瑞普电池有限公司(Grepow)旗下的子品牌之一,专注为无人机、FPV和模型爱好者提供专业可靠的电池和充电器等一站式电源解决方案。凭借卓越的放电性能、稳…...
PySide6 监测设备变更事件
在PySide6中监听系统事件,判断是否有串口设备插拔,进而当串口状态变更时,实现列表数据实时更新。 在Qt中,可以使用 nativeEvent 接口来完成这一操作: [virtual protected] bool QWidget::nativeEvent(const QByteArray…...
嵌入式系统的历史与发展
目录 引言 一、嵌入式系统的早期萌芽 1、首个现代嵌入式系统 2、早期未成形嵌入式系统的应用 二、以单片机为主的初级阶段 1、工业领域应用 2、大型家电领域应用 三、处理器升级与多样化应用阶段 1、数字化电子化设备涌现 (1)智能仪表…...
mysql调试记录
ALTER USER rootlocalhost IDENTIFIED WITH mysql_native_password BY password; 该命令在调试python使用pymysql连接数据库出现错误时, 报错为pymysql.err.OperationalError: (1045, "Access denied for user rootlocalhost (using password: NO)") m…...
【后端开发】Spring MVC阶段总结
文章目录 快捷引入依赖lombok的使用Lombok依赖Lombok使用Lombok注解 三层架构分层的目的MVC与分层的区别三层架构分层的好处 企业命名规范常见命名命名风格介绍大驼峰风格小驼峰风格包名 常见注解Cookie与Session 快捷引入依赖 这个方法可以快捷引入依赖,但是引入依…...
netty-socketio + springboot 消息推送服务
netty-socketio springboot 消息推送服务 后端1. 目录结构:代码pom文件:application.yml:SocketIOConfig:PushMessage:ISocketIOServiceSocketIOServiceImpl:pushMessageController:启动类&…...
基于 JavaWeb 的 SSM 在线视频教育系统设计和实现(源码+文档+部署讲解)
技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论文…...
同时打开多个Microchip MPLAB X IDE
0.引用 Microchip 32位MCU CAN驱动图文教程-附源码 - 哔哩哔哩 https://bbs.21ic.com/icview-3391426-1-1.html https://bbs.21ic.com/icview-3393632-1-1.html 1.前言 工作中接触到使用Microchip 的 MPLAB X IDE 开发工具,使用的MCU是Microchip SAMD21J18A MCU…...
dify 500错误
问题 升级到1.2.0 后所有页面接口均报错500, 环境: docker 本地部署 version:1.2.0 解决办法 1.首先关闭服务 docker compose down2.找到docker-compose.yaml里的plugin_daemon,参照下面修改参数 plugin_daemon:environment:PLUGIN_MAX_EXECUTION…...
WPF设计标准学习记录26
画刷名称功能说明SolidColorBrush使用单一的连续颜色填充区域LinearGradientBrush使用线性渐变绘制区域。RadialGradientBrush使用径向渐变绘制区域。 焦点定义渐变的开始,而圆定义渐变的终点。ImageBrush使用图像绘制区域。VisualBrush使用一个视图绘制区域。BitmapCacheBrus…...
cin,cin.get(),getchar(),getline(),cin.get line()异同点
文章目录 1.cin2.cin.get()3.getchar()4.cin.getline()5.getline() 1.cin (1)cin>>等价于cin.operator>>(),即调用成员函数operator>>()进行读取数据。 (2)当cin>>从缓冲区中读取数据时&…...
7# 5多线-7 不会停
7# 5多线-7 不会停 分析,明显线接错了,打自动时也能手动启停,打手动无法启停,这时远程只能启ka3,无法启ka4。排查手自转换2上没接线,接到8上了(13和12接错了,也就是sac的5和6接错了)…...
基于混合编码器和边缘引导的拉普拉斯金字塔网络用于遥感变化检测
Laplacian Pyramid Network With HybridEncoder and Edge Guidance for RemoteSensing Change Detection 0、摘要 遥感变化检测(CD)是观测和分析动态土地覆盖变化的一项关键任务。许多基于深度学习的CD方法表现出强大的性能,但它们的有效性…...
机器学习 从入门到精通 day_04
1. 决策树-分类 1.1 概念 1. 决策节点 通过条件判断而进行分支选择的节点。如:将某个样本中的属性值(特征值)与决策节点上的值进行比较,从而判断它的流向。 2. 叶子节点 没有子节点的节点,表示最终的决策结果。 3. 决策树的…...
CLAHE算法介绍
限制对比度自适应直方图增强 CLAHE 算法介绍 1. CLAHE算法框图2.直方图clip及重分配2.1 opencv自带2.2 scikit-image2.3 结果对比2.4 clip limit的性质3.插值参考文献上图来自 K. Zuiderveld: Contrast Limited Adaptive Histogram Equalization。 图中可以看到各种直方图均衡的…...
高并发的业务场景下,如何防止数据库事务死锁
一、 一致的锁定顺序 定义: 死锁的常见原因之一是不同的事务以不同的顺序获取锁。当多个事务获取了不同资源的锁,并且这些资源之间发生了互相依赖,就会形成死锁。 解决方法: 确保所有的事务在获取多个锁时,按照相同的顺序请求锁。例如,如果事务A需要锁定表A和表B,事务…...
使用Python从零实现一个端到端多模态 Transformer大模型
嘿,各位!今天咱们要来一场超级酷炫的多模态 Transformer 冒险之旅!想象一下,让一个模型既能看懂图片,又能理解文字,然后还能生成有趣的回答。听起来是不是很像超级英雄的超能力?别急,…...
elestio memos SSRF漏洞复现(CVE-2025-22952)(附脚本)
免责申明: 本文所描述的漏洞及其复现步骤仅供网络安全研究与教育目的使用。任何人不得将本文提供的信息用于非法目的或未经授权的系统测试。作者不对任何由于使用本文信息而导致的直接或间接损害承担责任。如涉及侵权,请及时与我们联系,我们将尽快处理并删除相关内容。 前言…...
倚光科技:以创新之光,雕琢全球领先光学设计公司
在光学技术飞速发展的当下,每一次突破都可能为众多领域带来变革性的影响。而倚光(深圳)科技有限公司,作为光学设计公司的一颗璀璨之星,正以其卓越的创新能力和深厚的技术底蕴,引领着光学设计行业的发展潮流…...
Linux安装Elasticsearch详细教程
准备工作 下载地址:Download Elasticsearch | Elastic 下载时需要注意es与jdk版本对应关系 ES 7.x 及之前版本,选择 Java 8 ES 8.x 及之后版本,选择 Java 17 或者 Java 18,建议 Java 17,因为对应版本的 Logstash 不支持 Java 1…...
C++字符串操作详解
引言 字符串处理是编程中最常见的任务之一,而在C中,我们有多种处理字符串的方式。本文将详细介绍C中的字符串操作,包括C风格字符串和C的string类。无论你是C新手还是想巩固基础的老手,这篇文章都能帮你梳理字符串处理的关键知识点…...
PromptPro|提示词生成和管理专家
大家好,我是吾鳴。 今天吾鳴给大家分享一个实用的提示词管理网站,它的名称叫做产品化管理提示词,英文名叫做PromptPro,是一个可以帮你管理你的大模型提示词的网站,同时你也可以告诉它你的需求,让它帮你生成…...
计算机视觉图像特征提取入门:Harris角点与SIFT算法
计算机视觉图像特征提取入门:Harris角点与SIFT算法 一、前言二、Harris 角点检测算法2.1 Harris 角点的定义与直观理解2.1.1 角点的概念2.1.2 Harris 角点的判定依据 2.2 Harris 角点检测的实现步骤2.2.1 计算图像的梯度2.2.2 构建结构张量矩阵2.2.3 …...
swift菜鸟教程1-5(语法,变量,类型,常量,字面量)
一个朴实无华的目录 今日学习内容:1.基本语法引入空格规范输入输出 2.变量声明变量变量输出加反斜杠括号 \\( ) 3.可选(Optionals)类型可选类型强制解析可选绑定 4.常量常量声明常量命名 5.字面量整数 and 浮点数 实例字符串 实例 今日学习内容: 1.基本…...
02142数据结构导论
初学者,怎样理解这道题,怎样大白话分析 答案解析 00、概念 29、 28、 27、 26、 25、 24、 23、 22、有5个元素,其入栈次序为:A、B、C、D、E,写出以元素C、D最先出栈(即C第一个且D第二个出栈)的各种可能的出栈次序。 (来…...
如何在AMD MI300X 服务器上部署 DeepSeek R1模型?
DeepSeek-R1凭借其深度推理能力备受关注,在语言模型性能基准测试中可与顶级闭源模型匹敌。 AMD Instinct MI300X GPU可在单节点上高效运行新发布的DeepSeek-R1和V3模型。 用户通过SGLang优化,将MI300X的性能提升至初始版本的4倍,且更多优化将…...
【Django】教程-15-注册页面
【Django】教程-1-安装创建项目目录结构介绍 【Django】教程-2-前端-目录结构介绍 【Django】教程-3-数据库相关介绍 【Django】教程-4-一个增删改查的Demo 【Django】教程-5-ModelForm增删改查规则校验【正则钩子函数】 【Django】教程-6-搜索框-条件查询前后端 【Django】教程…...
OpenAI即将上线新一代重磅选手——GPT-4.1
每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...
参照Spring Boot后端框架实现序列化工具类
本文参照Jackson实现序列化工具类,旨在于简化开发 JacksonUtil.class public class JacksonUtil {private JacksonUtil() {}/*** 单例*/private final static ObjectMapper OBJECT_MAPPER;static {OBJECT_MAPPER new ObjectMapper();}private static ObjectMappe…...