
算法
噬梦罪犯
这个作者很懒,什么都没留下…
展开
-
数组中不等三元组的数目
算法,全排列原创 2022-11-20 20:28:18 · 576 阅读 · 0 评论 -
三数之和-----双指针算法
双指针就是这么玩的原创 2022-11-08 22:38:02 · 267 阅读 · 1 评论 -
二分查找算法
在有序序列中,使用二分查找算法搜索目标元素的核心思想是:不断地缩小搜索区域,降低查找目标元素的难度。原创 2022-11-07 20:13:33 · 150 阅读 · 0 评论 -
贪心算法----区间选点
题目:给定 N 个闭区间 [ai,bi],请你在数轴上选择尽量少的点,使得每个区间内至少包含一个选出的点。输出选择的点的最小数量。位于区间端点上的点也算作区间内。输入样例:3-1 12 43 5思路解题思路:先将每个区间按右端点从小到大排序,然后每次枚举每个区间,当某个区间内已经取了点时,直接跳过即可,否则取每个区间最右端的端点。代码#include <iostream>#include <algorithm>using namespace std;con原创 2022-05-07 16:07:58 · 305 阅读 · 0 评论 -
全排列和排列组合
排列组合对一组数字进行排列组合,比如1,2,3的排列组合为1231 21 32 31 2 3代码实现:#include<iostream>#include<algorithm>using namespace std;int n,tem[1000],a[1000];void tsort(int start,int length,int num,int a_len,int *a,int *tem){ int i,j; for(i=start;i<a原创 2021-04-30 10:46:08 · 342 阅读 · 0 评论 -
十大排序算法
算法总结*冒泡排序#include <iostream>#include <algorithm>#include <vector> using namespace std; void bubbleSort(vector<int> &q){ for(int i = q.size() - 1; i > 0; i--){ bool flag = false; for(int j = 0; j +原创 2021-04-26 17:24:49 · 80 阅读 · 0 评论 -
哈夫曼算法
#include<iostream>#include<string>#include<algorithm>using namespace std;#define n 6 //叶子数目#define m 2*n-1 //树中结点总数typedef struct { //结点类型 double weight; //结点的权值 int parent, lchild, rchild;//双亲指针及左右原创 2021-04-05 22:27:52 · 99 阅读 · 0 评论 -
素数筛(线性筛法)
一、什么是线性筛法?线性筛法是指在O(n)的复杂度情况下,筛选出所给数的所有质数二、原理是什么?1.最小质数由公理可知,n都可以被分解为多个质数的乘积,那么,在这些质数中,我们总能找到一个最小的数x,那么x就是n的最小质数2.剔除非质数既然有了最小质数x,针对每一个数,我们只需要从2开始,逐条对2-n进行遍历(假设我们此时遍历到的数是i),如果发现i%x=0,那么我们就知道这个数要被剔除掉因为它可以被至少两个数的乘积表示(不满足质数的定义)3.如何保证不重复剔除非质数?我们知道,45可以是原创 2021-04-05 12:48:00 · 6104 阅读 · 3 评论 -
C++中SORT函数使用方法
C++中SORT函数使用方法一.sort函数1.sort函数包含在头文件为#include的c++标准库中,调用标准库里的排序方法可以实现对数据的排序,但是sort函数是如何实现的,我们不用考虑!2.sort函数的模板有三个参数:void sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp);(1)第一个参数first:是要排序的数组的起始地址。(2)第二个参数last:是结束的地址(最后一个数据的后原创 2021-04-04 15:51:17 · 8090 阅读 · 1 评论