![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法模板
主要为一些常见算法的模板代码,方便学习和使用
Guapifang
这个作者很懒,什么都没留下…
展开
-
字符串--双指针--怎么快速判断字符串s1是否含有字符串s2的全部字符简单判断方式
做题目常常遇到一个问题,就是判断字符串s1或字符串s1某段区间是否含有字符串s2的全部字符,比如 s1=‘dasdmbed’ s2=‘dmb’ s1中的子串:'mbed’就含有s2的所有字符,如果进行快速简单的判断呢?就是用到O(n)的时间复杂度去判断,我想出了这样的方法(可能很多人这样想到过)。 定义数组ans1[400]和数组ans2[400], 先初始化 memset(ans1,0,sizeof(ans1)); memset(ans2,0,sizeof(ans2)); for(int i=0;i<原创 2021-03-26 17:40:36 · 487 阅读 · 0 评论 -
快速排序寻找法模板
利用快速排序的原理进行元素查找,可以用logn的时间复杂度找到目标数字。 注意该模板代码下标以0开始,最小的元素就是第0个元素。 #include<bits/stdc++.h> using namespace std; int a[100010],n,k; int find_quick_sort(int l,int r,int k)//快速排序寻找法,寻找第k小的元素 { //if(l>=r)return; int base=a[l];//base的作用是进行划分后,使得所有在bas原创 2021-02-17 22:22:00 · 78 阅读 · 0 评论 -
C++快速排序模板代码
#include<bits/stdc++.h> using namespace std; int a[100010],n; void quick_sort(int l,int r)//快速排序寻找法 { if(l>=r)return; int base=a[l];//base的作用是进行划分后,使得所有在base左边的元素小于等于base, //所有在base右边的元素大于等于base int i=l,j=r; while(i<j) { while(i<j&a原创 2021-02-17 22:13:27 · 372 阅读 · 0 评论