自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 收藏
  • 关注

原创 [3355. 零数组变换 I

该问题要求通过一系列查询操作将整数数组 nums 转换为零数组。每个查询 queries[i] = [li, ri] 允许在 nums 的下标范围 [li, ri] 内选择一个子集,并将选中下标对应的元素值减1。最终判断是否可以通过这些操作将 nums 的所有元素变为0。解决方案使用差分数组技术,通过记录每个查询对数组的影响,最终还原出每个位置的操作次数。如果某个位置的操作次数小于其初始值,则无法将其变为0,返回 false;否则返回 true。该方法的时间复杂度为 O(n + m),其中 n 是数组长度,

2025-05-21 13:53:51 290

原创 【双指针】5. 最长回文子串

思路:确定中心位置,向左右扩散。中最长的 回文 子串。

2025-05-06 15:54:35 205

原创 [字符处理]1812. 判断国际象棋棋盘中一个格子的颜色

给定坐标一定代表国际象棋棋盘上一个存在的格子。坐标第一个字符是字母,第二个字符是数字。,它是一个字符串,表示国际象棋棋盘中一个格子的坐标。下图是国际象棋棋盘示意图。如果所给格子的颜色是白色,请你返回。,如果是黑色,请返回。

2025-05-06 14:40:15 124

原创 【哈希表】1399. 统计最大组的数目

的每个整数 10 进制表示下的数位和(每一位上的数字相加),然后把数位和相等的数字放到同一个组中。请你统计每个组中的数字数目,并返回数字数目并列最多的组有多少个。MaxVal维护最大数位和长度。判定最大数位和长度的组数。

2025-04-23 23:05:21 181

原创 【双指针】922. 按奇偶排序数组 II

思路:由于奇数偶数对半,则处理其中的偶数位置,使得满足要求,奇数位置则比满足要求。任何满足上述条件的数组作为答案。对数组进行排序,以便当。给定一个非负整数数组。

2025-04-22 15:25:15 75

原创 【二分查找】2563. 统计公平数对

数对满足以下情况,则认为它是一个。适用于离散程度较大的数据。思路1:排序+二分查找。适用于连续性较好的数据。思路二:哈希表+遍历。

2025-04-20 11:57:57 328

原创 [滑动窗口]209. 长度最小的子数组

滑动窗口,滑动右窗口,满足条件的状况下,收缩窗口。如果不存在符合条件的子数组,返回。找出该数组中满足其总和大于等于。个正整数的数组和一个正整数。

2025-04-18 21:01:32 230

原创 分类别中位数归一化

之前看论文,不明白为什么要这样进行归一化处理,在自己考量对数据进行归一化时,突然发现,应用在非正态分布的数据时,这样归一化处理显然更灵活,能有效避免新加入的数据对归一化值的影响。

2025-04-16 20:01:37 166

原创 【哈希表】825. 适龄的朋友

3.在每个区间中遍历,对能发的两个年龄进行相乘,并累加(注意:相同年龄值互发时要减去自己给自己发的数量,即record[i])2.从后向前遍历,确定一组能发送的年龄段范围(从后向前遍历可以简化发送条件,只用判定左边区间是否大于右区间的一半+7即可)产生的好友请求为 110 -> 100 ,120 -> 110 ,120 -> 100。产生的好友请求为 17 -> 16 ,18 -> 17。另外,用户不会向自己发送好友请求。返回在该社交媒体网站上产生的好友请求总数。2 人互发好友请求。

2025-04-15 21:02:23 170

原创 【暴力求解】1534. 统计好三元组

请你统计其中好三元组的数量。先从左右两端确定i、k位置,在从中间遍历。满足下列全部条件,则认为它是一个。

2025-04-14 17:38:30 204

原创 [子集问题] 找出所有子集的异或总和再求和

2.遍历每个子集,求出异或和,汇总。定义为数组中所有元素按位。,计算并返回这些值相加之。1.先找出元素所有子集。

2025-04-05 16:18:03 183

原创 【滑动窗口】长度为 K 的子数组的能量值 I

2.每个子数组内依次滑动,记录满足递增的最大值。当条件不满足时,记录最大值为-1,并跳出当前子数组滑动窗口。1.总共子数组数量(窗口数量)为n-k+1;解题思路:滑动窗口。

2025-04-03 18:02:19 159

原创 【dp】有序三元组中的最大值 I

1.记录i位置前的最大值与i位置后的最大值,依次遍历数组i,得到每个位置的最大前后缀。2.再遍历一遍数组,带入公式,求出目标最大值。虽然不难,但题解很巧妙,值得反复品味。这题解当有dp思想。

2025-04-02 22:55:12 163

原创 【动态规划】不同路径

机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。2.确定状态转移方程:dp[i][j]=dp[i-1][j]+dp[i][j-1]1.确定dp数组含义:dp[i][j]为当前走到i,j位置的路径数量。3.初始化:第1行与第一列全为1,及走到那个位置的方法有一种。网格的左上角 (起始点在下图中标记为 “Start” )。问总共有多少条不同的路径?

2025-03-31 17:00:02 185

原创 Qgis统计批量多栅格多矢量文件(多对多)

注意:保存输出位置选填充数值即可(只是为了对文件进行区分),且保存位置尽量选取一个空文件夹,便于后续处理。但注意,在进行多环缓冲区处理时,这里不需要进行拆分(绿色循环按钮),即得到一个汇总的矢量文件。输入图层向下填充即可,均为刚获得的5km汇总矢量文件,栅格图层全选自己的栅格资源。新建一个excel文件,其地址为outputFile。1.获取目标坐标范围内统计矢量数据请参考我的前一篇文章。4.使用分区统计获得统计统计数据矢量文件。2.选择分区统计,进行批处理。执行以下python代码。

2025-02-05 18:04:21 564

原创 QGis栅格数据批量按坐标切片及提取相关数据

在使用QGis进行数据处理时经常会遇到提取一系列目标点附近范围的数据,现有网上的方法通常不是很详细,或者较为复杂,对初学者不是很友好,这里提供一种简单的方法。

2025-01-27 12:56:59 813

原创 DijkSkra算法C++实现

2.每次从未加入final集合的顶点中选取一个到已求解集合中距离最短的顶点,加入集合(将final设为true)。最后更新源点到其他所有点的距离dist[],看:经过当前点到其他所有点的距离小,还是不经过当前点到其他点的距离更小,选取二者较小值;1.初始化:集合final为已经求解了最短路径的顶点集,初始时,将final[源点]设为true,其他都为false。集合dist[j]为源点到j的最短距离,集合path[j]为当前j走到顶点j的上一个顶点。此算法适用于单源最短路径求解。

2024-04-11 19:51:51 248 1

原创 常用排序算法及实现(C++)

同时算法时间复杂度取决于基准值的选取,当基准值选取较极端时,时间复杂度趋于O(n^2),当基准值选取合适,最优时间复杂度为O(nlogn).实现原理:基于分治思想,选取基准值,将基准值放在mid位置,基准值左边元素均小于基准值,右边元素均大于基准值。建堆过程:对于i层节点,每次下滑最多(h-1)层,下滑过程中对比次数不超过2*(h-i),累计所得为O(n);在直接插入排序中,当待排序列为正序时,时间复杂度为O(n).时间复杂度T(n)=O(n^2);时间复杂度T(n)=O(n^2);时间复杂度O(n^2)

2024-04-07 22:11:09 590 1

原创 记一次tomcat无法访问默认主页解决方案

1.在tomcat的bin目录下catalina.sh文件中,加入环境变量。提示如上错误,又去检查环境变量以及tomcat版本,发现均无错误。import JAVA_HOME="java安装目录"发现可以运行,但浏览器依然访问不了默认页面:8080。要去阿里云官网添加安全组,使其允许通过8080端口。然后执行startup.sh运行tomcat。打开tomact/logs/当天的log。2.运行startup.sh。3.添加防火墙允许通过的端口。网上也找不到相关的解决方案。执行shutdown.sh。

2024-01-11 19:06:01 1208 1

原创 04.编译器优化与SIMD指令集

同理,编译器为了防止指针别名现象,会生成两份汇编代码(普通版和SIMD版本),然后进行指针做差运算判断有无指针别名现象,为了避免此操作造成的效率损失,也应加入__restrict关键字。局部可见函数static,使用此关键词声明,就不会将该函数暴露给其他函数,此时编译器优化后,压根就不会定义该函数,直接内联。对于非4的倍数,编译器也会自动进行边界特判。对于循环之中的判断语句,编译器会挪到外面,前提是判断语句在循环当中不会改变。对于连续的地址,两个32位的写入,编译器可以直接优化为一个64位写入。

2023-05-22 13:21:25 678

原创 03.模板元编程与函数式

模板函数-特化的重载;如果函数无参,编译器无法推断,此时应:add();//手动给定模板参数类型。

2023-05-14 16:51:26 111

原创 02.RAII与智能指针

std::move(v2) //不会清空v2,需要清空可以用v2={}(调用了默认构造函数或移动赋值函数)或v2.clear()std::unique_ptr p=std::make_unique();for_each(v.begin(),v.end(),func)//函数模板,对于每一个vi都调用func函数;std::as_const(v2)//不会拷贝v2,需要拷贝可以用{auto_=v2}v1=std::vector(200) //就地构造的v2。p=nullptr;

2023-05-11 20:15:33 134

原创 01.从CMake讲起

你或许听过好几种 Make 工具,例如 GNU Make ,QT 的 qmake ,微软的 MS nmake,BSD Make(pmake),Makepp,等等。CMake 就是针对上面问题所设计的工具:它首先允许开发者编写一种平台无关的 CMakeList.txt 文件来定制整个编译流程,然后再根据目标用户的平台进一步生成所需的本地化 Makefile 和工程文件,如 Unix 的 Makefile 或 Windows 的 Visual Studio 工程。

2023-05-08 22:42:54 317

原创 反转链表的两种实现

【代码】反转链表的两种实现。

2023-05-02 17:25:22 69

转载 LeetCode 206反转链表

给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。输入:l1 = [7,2,4,3], l2 = [5,6,4]你可以假设除了数字 0 之外,这两个数字都不会以零开头。对于逆序处理,首先想到使用栈。输出:[7,8,0,7]

2023-05-02 17:07:05 115

原创 概率和数理统计

均匀分布随机数。

2023-01-11 22:40:13 224

原创 积分与微分

qudal(f,a,b) //f为函数句柄,a为积分下限,b为积分上限,精度更高。quda(f,a,b) //f为函数句柄,a为积分下限,b为积分上限。cumsum() //传入向量或矩阵,第二个参数可以指定维度。trapz() //传入向量或矩阵。

2023-01-11 14:48:33 181

原创 多项式与函数

poly2sym() //通过多项式的系数行向量从高到低降幂,建立多项式。poly() // 通过多项式的根建立多项式,返回值为系数向量。polyvalm(p,x) //以矩阵为计算单位,求值。polyval(p,x) //求多项式在x处的值。conv(a,b) //实现向量a,b卷积。roots(p) //求多项式的根。devconv(a,b) //除法。其中figure创建绘图窗口。

2023-01-10 17:08:20 173

原创 字符串操作

字符串查找:

2023-01-10 15:12:25 76

原创 数组和矩阵分析

A(A>10)=10 //将A中大于10的元素赋值为10。C=1:2:10 //从1到10,间隔2。矩阵同行用逗号分隔,不同行用分号分隔。D]//生成二维数组 2*5。find(A>5) //返回下标。注意:find返回的是元素下标。A(A>5) //返回元素。逻辑运算的好的结果为0和1。数组运算遵循矩阵运算规则。A>2 //返回逻辑数组。

2023-01-10 12:20:42 216

原创 1.3尽可能使用const

使用mutable修饰符,可以释放掉non-static成员变量的const约束,使得在const成员函数中,也可以对含有mutable修饰的成员变量进行修改。//C++中常成员函数与非常成员函数可以构成重载,具体调用根据对象类型是否为const来进行区别调用,对于常成员函数造成的重载,可以通过非常版本对另一个调用,来减少代码重复。先通过*this将对象变为常对象,以便调用常成员函数版本。通过const成员函数,来处理const修饰的对象。某些情况下允许在常成员函数下,对成员变量进行修改。

2023-01-09 21:48:20 80

原创 MATLAB基础

快速逻辑与&& //当第一个操作数为假,直接返回假,否则与&相同。快速逻辑或|| //当第一个操作数为真,直接返回真,否则与|相同。cell(i,j) //建立单元数组i*j。complex(a,b) //创建复数a+bi。logic() //将数值型转为逻辑型。abs(z) //得到复数z的模。angle(z)//得到z的角度。conj(z) //得到共轭复数。floor //取整小于等于。real(z) //取得实部。imag(z) //取得虚部。ceil //取整大于等于。fix //向0取整。

2023-01-09 13:21:34 106

原创 pair&map&multimap

vector和list等容器,插入元素,需要指定插入位置,所有关联容器不关心插入位置,只关心插入的key和value,由容器内部确定其位置。通过find()方法,传入需要访问的key,函数返回存在的key对应元素的迭代器,若不存在,则返回map的end()[]运算符永远执行成功,若指定的key不存在,插入新的pair;如果指定的键不存在,则lower_bound()和upper_bound()的返回值相等。提供的插入、删除、查找功能,都是基于key的,而value只是绑定于特定键的附带值。

2023-01-08 22:27:50 113

原创 1.2 尽量减少#define预处理器的使用

对于单纯常量,尽量使用const或enum。对于宏定义,尽量使用template inline函数。

2023-01-08 14:32:31 93

原创 1.1 语言联邦

Object-Oriented C++:包括classes(构造与析构),encapsulation(封装),inheritance(继承),polymorphism(多态),virtual(动态绑定)。STL:标准模板库,包括容器,迭代器,算法,函数对象。template C++:泛型编程。C:C语言的相关通用用法。

2023-01-08 13:53:16 121

原创 术语(规范及命名习惯)

同时进行对象传参时也需要注意此时会调用拷贝构造函数,对于含指针对象,防止浅拷贝析构后出现野指针和重复析构出现内存泄漏的情况。explicit关键词:在函数前添加,阻止被用于执行隐式类型转化(implicit type conversions).参数:lhs(left-hand side)、rhs(right-hand side)左手端、右手端。(含指针类型,需进行深拷贝)。指针:pa(point to any),any 可以是任何类型对象。extern关键词:显式表明在此处声明,在别的文件进行定义。

2023-01-08 13:40:09 98

原创 Hash表解决字符串匹配

给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。通过数组模拟哈希表,先遍历后串,通过-'a'对串中字符计数,再遍历前串,相同时减去对应key的计数,若小于0则说明前串无法覆盖后串。链接:https://leetcode.cn/problems/ransom-note。著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。如果可以,返回 true;否则返回 false。来源:力扣(LeetCode)

2022-12-30 23:40:31 337

原创 Matplotlib 基础

例:应用matplotlib绘制(0,0)至(6,100)直线 plt.plot(x,y,格式符代码,**kwargs)

2022-09-15 13:52:17 128

原创 C++异常处理

程序使用异常处理程序(exception handler)来捕获异常,异常处理程序位于要处理问题的程序中。处理程序以关键字catch开头,随后是位于括号中的类型声明,它指出了异常处理程序要响应的异常类型;try块标识其中特定的异常可能被激活的代码块,它后面跟一个或多个catch块。try块是由关键字体示的,关键字try的后面是一个由花括号括起的代码块,表明需要注意这些代码引发的异常。其中try块用于检测代码块,若发现异常则通过throw引发异常并标识异常(throw后面的值即为异常特征),指出异常语句。

2022-09-15 13:51:40 441

原创 python正则表达式

返回值:找到则返回目标的第一个字符串,可以用.span返回正则表达式在待匹配字符串中位置,找不到返回None。区间取反:^不会出现的字符定义字符组,加在正则表达式前则从头取反,加在某个字符后则意味着从某个字符开始取反。表示正向先行断言,整个括号里的内容(包括括号本身)代表字符串中的一个位置,紧接该位置之后的字符序列能够匹配。重复区间:在不确定重复次数时可以使用重复区间{M,N},表示重复次数在M-N之间的都会被筛选。分组:可以在长的正则表达式中通过()来分组,通过group(index)来索引。

2022-08-21 13:50:14 370

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除