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

纯C代码模板

一、快排

void QuickSort(int *a,int left,int right){if(left>right) return;else{int low = left,high = right;int pivot = a[low];while(low<high){while(a[high] >= pivot && low < high){high--;}a[low] = a[high];  //必须先动a[low]while(a[low] <= pivot && low < high){ low++;}a[high] = a[low];}a[low] = pivot;QuickSort(a,left,low-1);QuickSort(a,low+1,right);}
}
#include<stdio.h>
#include<stdlib.h>int cmp(const void *a, const void *b){return *(int *)a - *(int *)b;//升序
//	return *(int *)b - *(int *)a;//降序
}int main()
{int n,s[10000];scanf("%d", &n);for(int i=0;i<n;i++)scanf("%d",&s[i]);qsort(s, n, sizeof(s[0]), cmp);for(int i=0;i<n;i++)printf("%d ",s[i]);return 0;} 

二、二分查找

int search(int* nums, int numsSize, int target) {int left = 0,right = numsSize-1,middle = 0;while(left<=right){middle=(left + right)/2;if(nums[middle]>target)right = middle-1;else if(nums[middle]<target)left=middle+1;else if(nums[middle]==target)return middle;}return left; //返回应该插入的地方
}

三、取数值各个位上的单数操作

leetcode 202快乐数

//对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。
//n=191  sum=1+81+1=83
int getSum(int n) {int sum = 0;while(n){sum =sum + (n % 10) * (n % 10);n=n/10;}return sum;
}

三、进制转换

// 翻转字符串中指定范围的字符
void reverse(char* s, int start, int end) {for (; start < end; start++, end--) {char tmp = s[start];s[start] = s[end];s[end] = tmp;}
}
// 先用flag表示最后要不要加负号
//  数值各个位上单数操作
//  最后翻转一下即可
char* convertToBase7(int num) {if(num==0) return "0";int flag=1;if(num<0) flag=0;num=num>0?num:-num;char *ret=(char*)malloc(sizeof(char)*32);int pos=0;while(num>0){ret[pos++]=num%7+'0';num/=7;}if(flag==0) ret[pos++]='-';reverse(ret,0,pos-1);ret[pos]='\0';return ret;
}

四、单链表的各种操作 

#define MAX(a, b) ((a) > (b) ? (a) : (b))
typedef struct ListNode{   //定义单链表结点int val;struct ListNode*next;
}ListNode;typedef struct  {             //定义单链表,指明头指针和结点数struct ListNode *head;int size;
}LinkedList;struct ListNode *ListNode_Creat(int val) {  //创建一个链表结点并赋值valstruct ListNode * node = (struct ListNode *)malloc(sizeof(struct ListNode)*1);node->val = val;node->next = NULL;return node;
}LinkedList* LinkedList_Create() {    //创建一个链表,初始为空LinkedList * obj = (LinkedList *)malloc(sizeof(LinkedList));obj->head = ListNode_Creat(0);  obj->size = 0;return obj;
}int LinkedList_Get(LinkedList* obj, int index) {    //找到链表中第index个结点,第0个即头结点if (index < 0 || index >= obj->size) {return -1;}struct ListNode *cur = obj->head;for (int i = 0; i <= index; i++) {cur = cur->next;}return cur->val;
}void LinkedList_Add_At_Index(LinkedList* obj, int index, int val) {//在第index个结点处添加一个新结点,赋值valif (index > obj->size) {return;}index = MAX(0, index); //index为负值或0时意为在头节点后插入obj->size++;struct ListNode *pred = obj->head;for (int i = 0; i < index; i++) {pred = pred->next;}struct ListNode *toAdd = ListNode_Creat(val);toAdd->next = pred->next;pred->next = toAdd;
}void LinkedList_Add_At_Head(LinkedList* obj, int val) {//头插LinkedList_Add_At_Index(obj, 0, val);
}void LinkedList_Add_At_Tail(LinkedList* obj, int val) {//尾插LinkedList_Add_At_Index(obj, obj->size, val);
}void LinkedList_Delete_At_Index(LinkedList* obj, int index) {//删除第index位置的结点if (index < 0 || index >= obj->size) {return;}obj->size--;struct ListNode *pred = obj->head;for (int i = 0; i < index; i++) {pred = pred->next;}struct ListNode *p = pred->next;pred->next = pred->next->next;free(p);
}void LinkedList_Free(LinkedList* obj) {//释放一个链表的所有空间struct ListNode *cur = NULL, *tmp = NULL;for (cur = obj->head; cur;) {tmp = cur;cur = cur->next;free(tmp);}free(obj);
}

五、 翻转字符串中指定范围的字符

// 翻转字符串中指定范围的字符
void reverse(char* s, int start, int end) {for (; start < end; start++, end--) {char tmp = s[start];s[start] = s[end];s[end] = tmp;}
}

六、暴力字符串匹配

int strStr(char* haystack, char* needle) {int n = strlen(haystack), m = strlen(needle);for (int i = 0; i + m <= n; i++) {bool flag = true;for (int j = 0; j < m; j++) {if (haystack[i + j] != needle[j]) {flag = false;break;}}if (flag) {return i;//返回第一个字符串匹配处的下标}}return -1;
}

七、strlen  strcmp   isdigit  C语言实现

int mystrlen (char*s){
char *start=s;
char *end=s;
while(*end!='\0') end++;
return end-start;
}
int my_strcmp(char* arr1, char*arr2)
{while (*arr1 == *arr2)//遍历arr1和arr2数组,判断字符串元素是否相同{if (*arr1 == '\0')//其中任意一个字符串来到'\0'说明两个字符串内容都相同,返回		return 0;arr1++;//将arr1与arr2加一找到下一个字符进行比较arr2++;}return *arr1 - *arr2;//若字符串元素出现不同,则返回两元素相减的值
}

int myisdigit(char c){
return  c>='0'&&c<='9';
}

八、 math.h部分函数实现

#include <stdio.h>
double myabs(double x){  //绝对值if(x>0) return x;return  (-x);
}
int myshang(double x){ //向上取整if(x>0) {return ((int)x)+1;}else return (int)x;
}
int myxia(double x){  //向下取整if(x>0) {return ((int)x);}else return (int)x-1;
}
int myround(double x){  //四舍五入if(x>0) {if(x>myxia(x)+0.5) return  myshang(x);return myxia (x);}else{if(x>myshang(x)-0.5) return myshang(x);return myxia (x);}
}
double mypow(double x,int y){  //x的y次方double sum=x;while((y-1)){sum*=x;y--;}return sum;}
signed main(){double n;scanf("%lf",&n);printf("%.2f ",myabs(n));printf("%d %d ",myxia(n),myshang(n));printf ("%d ",myround(n));printf("%.2f",mypow(n,5));return 0;
}

九、取最大公约数/最小公倍数/互质

//最大公约数
int gcd(int a, int b) {if (b == 0) {return a;} else {return gcd(b, a % b);}
}最小公倍数为
a/gcd(a,b)*b
最大公约数是1,就是互质

十、判断素数

#include<stdio.h>
int isprime(int n){int mybool=1;if(n<2) mybool=0;for(int i=2;i<=n/i;i++)if(n%i==0)  mybool=0;return mybool;
}
int main(){int n;scanf("%d",&n);int myb=isprime(n);if(myb==1) printf("Yes");else printf("No");return 0;
}

十一、螺旋矩阵

 

int directions[4][2] = {{0, 1}, {1, 0}, {0, -1}, {-1, 0}};
//用来顺时针旋转,一开始是行不变,列往右;然后行往下,列不变
然后行不变,列往左;然后行往上,列不变int* spiralOrder(int** matrix, int matrixSize, int* matrixColSize, int* returnSize) {if (matrixSize == 0 || matrixColSize[0] == 0) {*returnSize = 0;return NULL;}//空矩阵处理int rows = matrixSize, columns = matrixColSize[0];int visited[rows][columns];
//visited用来判断是不是访问过了,用来缩小边界memset(visited, 0, sizeof(visited));int total = rows * columns;int* order = malloc(sizeof(int) * total);*returnSize = total;
//order是一个要求返回的一维数组int row = 0, column = 0;int directionIndex = 0;for (int i = 0; i < total; i++) {order[i] = matrix[row][column];visited[row][column] = true;int nextRow = row + directions[directionIndex][0], nextColumn = column + directions[directionIndex][1];if (nextRow < 0 || nextRow >= rows || nextColumn < 0 || nextColumn >= columns || visited[nextRow][nextColumn]) {directionIndex = (directionIndex + 1) % 4;}row += directions[directionIndex][0];column += directions[directionIndex][1];}return order;
}

十二、leetcode二维数组返回问题

#define IN 
#define OUT
// 定义框架
#define __________FRAME_START__________
#define __________FRAME_END__________// 输入参数:intervals是数组指针,常规用法
// 输入参数:intervalsSize是数组行数,常规用法
// 输入参数:intervalsColSize是数组列数指针,我又不去改它列数,为什么要指针而不是整型,求指教,划为迷惑用法
// 输出参数:returnSize是返回数组行数,此处指定方便平台编译,可以理解,因此默认需要手动初始化,也就是印证了上面Note的说法,常规用法
// 输出参数:returnColumnSizes是返回列数的数组指针
int** merge(IN int** intervals, IN int intervalsSize, IN int* intervalsColSize, OUT int* returnSize, OUT int** returnColumnSizes){__________FRAME_START__________int row = 0; // 定义行列,二维数组肯定会用到int col = 0;*returnSize = 0; // 初始化returnSizeint** ret = (int**)malloc(sizeof(int*)*intervalsSize );// 在堆空间分配二维数组,所以用malloc方法,不能在栈空间直接定义数组,不然无法返回// 定义返回数组的二级指针,元素个数为行数,我一般把二维数组看成一个顺序表,每个结点是一个数组// 若用returnColumnSizes = (int**)malloc(sizeof(int*)*intervalsSize );方法定义,不创建新指针变量虽不报错但输出结果会有问题for (row = 0; row < intervalsSize; row++){ret[row] = (int*)malloc(*intervalsColSize * sizeof(int)); // 为每个结点分配一个数组空间,元素个数为列数} // 此时返回的二维数组创建完毕*returnColumnSizes = (int*)malloc(sizeof(int)*intervalsSize ); // 为神秘的returnColumnSizes指针变量初始化分配一段空间// 元素个数为行数,每个元素用来存放该行的列数__________FRAME_END__________

十三、同构哈希

十四、sprintf 

#include <stdio.h>int main() {char buffer[50];int a = 10;float b = 20.5;// 使用sprintf将格式化的字符串写入buffersprintf(buffer, "整数是: %d, 浮点数是: %.2f", a, b);// 输出buffer的内容printf("%s\n", buffer);return 0;
}

 十五、字符串模拟加法


//多少进制加法都是这个模板
char * addBinary(char * a, char * b){int carry = 0;int lena = strlen(a);int lenb = strlen(b);int len  = fmax(lena, lenb);int i    = lena - 1;int j    = lenb - 1;char *res = (char*)malloc(sizeof(char) * (len + 2)); /* 长度可能是更长的字符串加1 */int k = len + 1;res[k--] = '\0'; /* 添加结束符 *//* 模拟加法处理 */while (i >= 0 || j >= 0 || carry > 0) {carry += (i >= 0) ? a[i--] - '0' : 0;     //记录a当前位的值carry += (j >= 0) ? b[j--] - '0' : 0; res[k--] = carry % 2 + '0';              //3取余是1,carry /= 2;                                //进位}return res + k + 1;  //注意最后停止在哪里
}

 

随便记机

数组篇

 二分查找

注意while中是小于等于,等于时要进行判断,不然会忽略只有一个值且是目标值的情况

注意更新值是middle要是边界值减一或者加一,不然只有一个值是不会跳出循环

数组移除元素

用一个count记录目前返回数组的计数就行,注意最后数组元素个数具体是什么

有序数组的平方(快排)

先平方再快排就行,快排注意点:

三个while里面都是小于,同时low和high移动时都是小于等于或者大于等于移动

长度最小的子数组(和大于目标值的子数组的最小长度)

滑动窗口,从左到右,从下标零开始先找到满足目标值的子数组,记录目前最小长度。然后左边界尽可能地在满足大于目标值的情况下往右边划,记录目前最小长度。最少划一次后然后不满足了,然后右边界往右划直到满足,记录目前最小长度。重复此操作直到右边划到头。

链表篇

树篇

111.求二叉树的最小深度

贪心篇

455分发饼干

先排序,然后双指针比较即可

376摆动序列

用一个trend记录上升还是下降,上升为1,下降为0,初始trend为100保证初始一定记录

53最大子序列

从头开始,记录一个当前sum和最大result,遇见负数也sum计数加值,遇见正数自然会更新result,如果sum计数到负值了,令sum=0从头开始计数sum。result一定是保存当前最大值,初始化为INT_MIN(导致一定会记录到第一个负数,然后后续会记录到最大的负数)

122买卖股票的最佳时机Ⅱ

比如有三天。第一天买第二天卖同时第二天买第三天卖,即3-2+2-1=3-1。跟第一天买第三天卖一样。因此只要能赚钱,就可以日抛,只需要找到整个周期中日抛为正的差值,然后加起来就行

55跳跃游戏

用一个cover来记录当前能达到的下标范围,达到终点即可返回。在迭代的过程中不断更新该cover的实际范围。 

45跳跃游戏2

与I不同的是这里一定可以保证到达终点,因此局部最优可以为找到当前位置i到j使cover最大的j,然后更新i=j,count+1;最后当cover可以到达时,cover+1即可结束。

1005K次取反后最大化的数组

排序数组,先统计数组负值数量count,取count和K最小的把数组的负值翻转,如果K大于count,排序数组,把k-count用来翻转最小的那个元素,K-count为偶数相当于不变,最后求和数组。

字符串篇

58.最后一个单词的长度

因为是最后一个单词,所以可以把字符串翻转,这样转换到了前面。

然后把开头第一个单词前面的空格删

然后计算第一个单词的长度即可

844.比较含退格的字符

strcmp函数的实现还有删除#的操作,注意返回的是一个新字符串数组

524. 通过删除字母匹配到字典里最长单词

注意字典是一个二维数组,每次取出一行就行,记为q

当前p,q字母相等时下标都加加,当不等时p下标++,直到为两者其一为空,q为空就是匹配到了,更新当前最长单词,如果长度相同,比较字典序。

1309. 解码字母到整数映射

判断属于哪种解码,然后对应位怎么处理即可

动态规划篇

509斐波那契数

递归法,动态规划法(使用dp数组),迭代法

70爬楼梯

每次你可以爬 1 或 2 个台阶, dp[i]=dp[i-1]+dp[i-2]

746使用最小花费爬楼梯

每次你可以爬 1 或 2 个台阶,加上花销,dp[i]=fmin(dp[i-1]+cost[i-1],dp[i-2]+cost[i-2]);

62不同路径

先初始化第一行和第一列都是1,递推公式: f[ i ] [j ] = f[i - 1][ j ] + f[ i ] [ j - 1];

63不同路径2

先初始化第一行和第一列都是0,然后检查第一行第一列是否有障碍物,把没有障碍物的地方初始化为1,递推公式仍然是f[ i ] [j ] = f[i - 1][ j ] + f[ i ] [ j - 1],先检查ij位置是否有障碍物即可

343整数拆分

两层遍历,外层是i,内层是j从1到i-1,dp[i] = max(dp[i], max((i - j) * j, dp[i - j] * j));//内层每次更新dp[i]

300最长递增子序列

dp[i]表示以nums[i]为结尾的最长子序列数目,然后对于j<i,如果nums[j]<nums[i],那么dp[i]=dp[j]+1,那么在一个i中,遍历所有的小于i的j,取dp[i]的最大值。

相关文章:

纯C代码模板

一、快排 void QuickSort(int *a,int left,int right){if(left>right) return;else{int low left,high right;int pivot a[low];while(low<high){while(a[high] > pivot && low < high){high--;}a[low] a[high]; //必须先动a[low]while(a[low] < …...

二、GitLab相关操作

GitLab相关操作 一、组、用户、项目管理1.创建组2.创建项目3.创建用户并分配组3.1 创建用户3.2 设置密码3.3 给用户分配组 二、拉取/推送代码1.配置ssh(第一次需要)1.1 创建一个空文件夹1.2 配置本地仓账号和邮箱1.3 生成ssh公钥密钥1.4 gitlab配置公钥 2.拉取代码3.推送代码3.…...

【详细注释+流程讲解】基于深度学习的文本分类 TextCNN

前言 这篇文章用于记录阿里天池 NLP 入门赛&#xff0c;详细讲解了整个数据处理流程&#xff0c;以及如何从零构建一个模型&#xff0c;适合新手入门。 赛题以新闻数据为赛题数据&#xff0c;数据集报名后可见并可下载。赛题数据为新闻文本&#xff0c;并按照字符级别进行匿名…...

Day.21

interface MyInterface{public final static int PI 3;void show();public default void printX(){System.out.println("接口默认方法");}public static void printY(){System.out.println("接口静态方法");}}class MyClass implements MyInterface{publi…...

Spring-IoC 基于注解

基于xml方法见&#xff1a;http://t.csdnimg.cn/dir8j 注解是代码中的一种特殊标记&#xff0c;可以在编译、类加载和运行时被读取&#xff0c;执行相应的处理&#xff0c;简化 Spring的 XML配置。 格式&#xff1a;注解(属性1"属性值1",...) 可以加在类上…...

Spring声明式事务以及事务传播行为

Spring声明式事务以及事务传播行为 Spring声明式事务1.编程式事务2.使用AOP改造编程式事务3.Spring声明式事务 事务传播行为 如果对数据库事务不太熟悉&#xff0c;可以阅读上一篇博客简单回顾一下&#xff1a;MySQL事务以及并发访问隔离级别 Spring声明式事务 事务一般添加到…...

【C语言数据库】Sqlite3基础介绍

1. SQLite简介 SQLite is a C-language library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine. SQLite is the most used database engine in the world. SQLite is built into all mobile phones and most computer…...

el-upload上传图片图片、el-load默认图片重新上传、el-upload初始化图片、el-upload编辑时回显图片

问题 我用el-upload上传图片&#xff0c;再上一篇文章已经解决了&#xff0c;el-upload上传图片给SpringBoot后端,但是又发现了新的问题&#xff0c;果然bug是一个个的冒出来的。新的问题是el-upload编辑时回显图片的保存。 问题描述&#xff1a;回显图片需要将默认的 file-lis…...

【拓扑空间】示例及详解1

例1 度量空间的任意两球形邻域的交集是若干球形邻域的并集 Proof&#xff1a; 任取空间的两个球形邻域、&#xff0c;令 任取,令 球形领域 例2 规定X的子集族,证明是X上的一个拓扑 Proof&#xff1a; 1. 2., &#xff08;若干个球形邻域的并集都是的元素&#xff0c;元素…...

linux安装jdk8

上传到某个目录&#xff0c;例如&#xff1a;/usr/local/ tar -xvf jdk-8u144-linux-x64.tar.gz配置环境变量&#xff1a; export JAVA_HOME/usr/local/java export PATH$PATH:$JAVA_HOME/bin设置环境变量&#xff1a; source /etc/profile...

Spring重点知识(个人整理笔记)

目录 1. 为什么要使用 spring&#xff1f; 2. 解释一下什么是 Aop&#xff1f; 3. AOP有哪些实现方式&#xff1f; 4. Spring AOP的实现原理 5. JDK动态代理和CGLIB动态代理的区别&#xff1f; 6. 解释一下什么是 ioc&#xff1f; 7. spring 有哪些主要模块&#xff1f;…...

HTML基础知识详解(上)(如何想知道html的全部基础知识点,那么只看这一篇就足够了!)

前言&#xff1a;在学习前端基础时&#xff0c;必不可少的就是三大件&#xff08;html、css、javascript &#xff09;&#xff0c;而HTML&#xff08;超文本标记语言——HyperText Markup Language&#xff09;是构成 Web 世界的一砖一瓦&#xff0c;它定义了网页内容的含义和…...

如何借助Idea创建多模块的SpringBoot项目

目录 1.1、前言1.2、开发环境1.3、项目多模块结构1.4、新建父工程1.5、创建子模块1.6、编辑父工程的pom.xml文件 1.1、前言 springmvc项目&#xff0c;一般会把项目分成多个包:controler、service、dao、utl等&#xff0c;但是随着项目的复杂性提高&#xff0c;想复用其他一个模…...

爬虫 新闻网站 并存储到CSV文件 以红网为例 V1.0

爬虫&#xff1a;红网网站&#xff0c; 获取当月指定关键词新闻&#xff0c;并存储到CSV文件 V1.0 目标网站&#xff1a;红网 爬取目的&#xff1a;为了获取某一地区更全面的在红网已发布的宣传新闻稿&#xff0c;同时也让自己的工作更便捷 环境&#xff1a;Pycharm2021&#…...

CentOS 使用 Cronie 实现定时任务

CentOS 使用 Cronie 实现定时任务 文章目录 CentOS 使用 Cronie 实现定时任务一、简介二、基本使用1、常用命令2、使用示例第一步&#xff1a;创建脚本/home/create.sh第二步&#xff1a;添加定时任务第三步&#xff1a;重启 cronie 服务额外&#xff1a;查看 cronie 运行状态定…...

java生成word

两种方案 一、poi-tl生成word <dependency><groupId>com.deepoove</groupId><artifactId>poi-tl</artifactId><version>1.12.1</version> </dependency> public static void main(String[] args) throws Exception {String…...

C语言中的结构体:揭秘数据的魔法盒

前言 在C语言的广阔天地中&#xff0c;结构体无疑是一颗璀璨的明珠。它就像是一个魔法盒&#xff0c;能够容纳各种不同类型的数据&#xff0c;并按我们的意愿进行组合和排列。那么&#xff0c;这个魔法盒究竟有何神奇之处呢&#xff1f;让我们一探究竟。 一、结构体的诞生&…...

Listener

文章目录 ListenerServletContextListenerServletContextAttributeListenerHttpSessionListenerHttpSessionAttributeListenerServletRequestListenerServletRequestAttributeListenerHttpSessionBindingListenerHttpSessionActivationListener Listener Listener 监听器它是 J…...

单细胞RNA测序(scRNA-seq)SRA数据下载及fastq-dumq数据拆分

单细胞RNA测序&#xff08;scRNA-seq&#xff09;入门可查看以下文章&#xff1a; 单细胞RNA测序&#xff08;scRNA-seq&#xff09;工作流程入门 单细胞RNA测序&#xff08;scRNA-seq&#xff09;细胞分离与扩增 1. NCBI查询scRNA-seq SRA数据 NCBI地址&#xff1a; https…...

金蝶Apusic应用服务器 未授权目录遍历漏洞复现

0x01 产品简介 金蝶Apusic应用服务器(Apusic Application Server,AAS)是一款标准、安全、高效、集成并具丰富功能的企业级应用服务器软件,全面支持JakartaEE8/9的技术规范,提供满足该规范的Web容器、EJB容器以及WebService容器等,支持Websocket1.1、Servlet4.0、HTTP2.0…...

成都百洲文化传媒有限公司电商服务的新领军者

在当今数字化时代&#xff0c;电商行业正以前所未有的速度蓬勃发展。在这个大背景下&#xff0c;成都百洲文化传媒有限公司凭借其深厚的行业经验和精湛的专业技能&#xff0c;正迅速崛起为电商服务领域的新领军者。 一、专业引领&#xff0c;成就卓越 作为一家专注于电商服务的…...

从无到有开始创建动态顺序表——C语言实现

顺序表的概念 顺序表的底层结构是数组&#xff0c;对数组的封装&#xff0c;实现了常用的增删改查等接口。在物理结构和逻辑结构都是连续的&#xff0c;物理结构是指顺序表在计算机内存的存储方式&#xff0c;逻辑结构是我们思考的形式&#xff0c;顺序表和数组是类似的&#x…...

Unix 网络编程, Socket 以及bind(), listen(), accept(), connect(), read()write()五大函数简介

Unix网络编程是针对类Unix操作系统&#xff08;包括Linux、BSD以及其他遵循POSIX标准的操作系统&#xff09;进行网络通信开发的技术领域。网络编程涉及创建和管理网络连接、交换数据以及处理不同层次网络协议栈上的各种网络事件。在Unix环境中&#xff0c;网络编程通常涉及到以…...

【附下载】2024全行业数字化转型企业建设解决方案PPT合集

精品推荐&#xff0c;2024全行业数字化转型企业建设解决方案PPT合集&#xff0c;精品PPT源格式共21份。 以下是资料目录&#xff0c;如需下载&#xff0c;请前往星球获取&#xff1a; 1.制造业数字化转型解决方案及应用.pptx 2.医院数字化网络解决方案.pptx 3.食品饮料工厂数字…...

【QT+QGIS跨平台编译】056:【pdal_lepcc+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

点击查看专栏目录 文章目录 一、pdal_lepcc介绍二、pdal下载三、文件分析四、pro文件五、编译实践一、pdal_lepcc介绍 pdal_lepcc 是 PDAL(Point Data Abstraction Library)的一个插件,用于点云数据的压缩。它基于 EPCC(Entwine Point Cloud Compression)算法,提供了对点…...

蓝桥集训之斐波那契数列

蓝桥集训之斐波那契数列 核心思想&#xff1a;矩阵乘法 将原本O(n)的递推算法优化为O(log2n) 构造1x2矩阵f和2x2矩阵a 发现f(n1) f(n) * a 则f(n1) f(1) * an可以用快速幂优化 #include <iostream>#include <cstring>#include <algorithm>using na…...

程序员的工资是多少,和曹操有莫大的关系

曹操是谁大家都知道了吧&#xff0c;他是三国时期的一个有名的大老板&#xff0c;谁知道曹操的工资是多少呢&#xff1f;这个其实也不好说&#xff0c;有时候曹操赚很多的钱&#xff0c;有时候也亏血本&#xff0c;甚至连脑袋都差点掉了。创业不容易啊&#xff0c;曹老板也是如…...

使用Element Plus

1. 官网安装 安装 | Element Plus (gitee.io) 安装&#xff1a; npm install element-plus --save 在main.ts中全局注册ElementPlus并使用 //加入element-plus import ElementPlus from element-plus; //加入element-plus样式 import element-plus/dist/index.css; import…...

单例(Singleton)设计模式总结

1. 设计模式概述&#xff1a; 设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格、以及解决问题的思考方式。设计模式免去我们自己再思考和摸索。 就像是经典的棋谱&#xff0c;不同的棋局&#xff0c;我们用不同的棋谱。"套路"经典的设计模式一共有…...

LeetCode每日一题之专题一:双指针 ——快乐数

快乐数OJ链接&#xff1a;202. 快乐数 - 力扣&#xff08;LeetCode&#xff09; 题目&#xff1a; 题目分析: 为了房便叙述&#xff0c;将「对于⼀个正整数&#xff0c;每⼀次将该数替换为它每个位置上的数字的平方和」这⼀个 操作记为 x 操作&#xff1b; 题目告诉我们&#…...

网站建设制作 南京公司/网络兼职平台

经常看日本动漫的朋友应该知道&#xff0c;在这些动漫作品中&#xff0c;主人公们是初高中生的居多&#xff0c;可能主要还是因为这些动漫主要的受众人群也是这部分观众吧&#xff0c;也是借助这些动漫作品&#xff0c;我们可以了解到一些日本学生的日常。比如从《轻音少女》、…...

中国建设银行培训网站/网络推广软件免费

文章目录1、新建xcs格式文本2、打开xshell&#xff0c;导入配置文件3、配色方案效果图1、新建xcs格式文本 [skycolor] text00ff80 cyan(bold)00ffff text(bold)e9e9e9 magentac000c0 green80ff00 green(bold)3c5a38 background042028 cyan00c0c0 red(bold)ff0000 yellowc0c000…...

企业网站打不开什么原因/百度指数属于行业趋势及人群

用过unity&#xff0c;ue4和cocos creator&#xff0c;就个人感受说一下&#xff1a; Unity只给了简单的光照烘培和cubemap反射以及球谐来做间接光照&#xff0c;其他都是用迪士尼的brdf来模拟像素反射。所以其他都需要自己造轮子。其实并不是unity不能做高端的效果&#xff0…...

网站流量少/太原做网站的工作室

function onDrawDate(e) {var date e.date;var now new Date(); if (date.getMonth() ! now.getMonth()) {e.allowSelect false;} }...

做夺宝网站要办理什么意思/竞价推广和信息流推广

医学统计学计算机操作教程语音编辑锁定上传视频《医学统计学计算机操作教程》是2007年科学出版社出版的图书&#xff0c;作者是罗家洪、郭秀花。作 者罗家洪//郭秀花ISBN9787030333711页 数304定 价39.80元出版社科学出版时间2007-8医学统计学计算机操作教程内容介绍编…...

环保网站建设维护情况报告/实体店怎么引流推广

教材学习内容总结 P20 无符号编码基于传统的二进制表示法&#xff0c;表示大于或者等于零的数字。补码编码是表示有符号整数的最常见的方式&#xff0c;有符号整数就是可以为正或者为负的数字。浮点数编码是表示实数的科学记数法的以二为基数的版本。由于溢出使得一个正整数会变…...