![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
嵌入式Linux系统开发
博主就职于芯片原厂,熟悉硬件、STM32单片机、嵌入式 Linux、Android。
展开
-
RSA 2048/4096 签名校验算法
RSA算法是一种非对称密码算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要用另一个才能解密。RSA是目前最有影响力和最常用的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,已被ISO推荐为公钥数据加密标准。今天只有短的RSA钥匙才可能被强力方式解破。到2008年为止,世界上还没有任何可靠的攻击RSA算法的方式。只要其钥匙的长度足够长,用RSA加密的信息实际上是不能...原创 2020-05-03 23:38:41 · 7239 阅读 · 0 评论 -
一个栈的入栈序列为ABCDEF,则不可能的出栈序列是
技术之瞳 阿里巴巴技术笔试心得习题2.65:一个栈的入栈序列为ABCDEF,则不可能的出栈序列是(D) A、DEFCBA B、DCEFBA C、FEDCBA D、FECDBA E、ABCDEF F、ADCBFE分析: 该题主要是考虑栈的核心思想是先进后出,并且需要注意入栈和出栈的顺序是未知的,例如你可以先入栈ABCD,然后出栈D,然后...转载 2020-03-26 20:27:03 · 7089 阅读 · 0 评论 -
设栈S和队列Q的初始状态为空,元素e1、e2、e3、e4、e5、e6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出队的序列是e2、e4、e3、e6、e5、e1,则栈S的容量至少应该是
题目设栈S和队列Q的初始状态为空,元素e1、e2、e3、e4、e5、e6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出队的序列是e2、e4、e3、e6、e5、e1,则栈S的容量至少应该是 3解答出队先出e2表示e1,e2进栈后出e2(这时栈的容量最大为2),接着出e4,e3表示e3,e4进栈后出e4,e3(这时栈的容量最大为3),再出e6,e5表示e5,e6进栈后出e6,e5(这时...原创 2020-03-26 20:09:44 · 43717 阅读 · 1 评论 -
C语言:测试输入值是否为数字或字母的isalpha函数和isdigit函数(isspace、ispunct等等)
isalpha函数:isalpha 原型:int isalpha(int ch) 用法:头文件加入#include (旧版本的编译器使用<ctype.h>) 功能:判断字符ch是否为英文字母,当ch为英文字母a-z或A-Z时,在标准c中相当于使用“isupper(ch)||islower(ch)”做测试,返回非零值(不一定是1),否则返回零。isdigit原型:e...原创 2019-10-23 10:12:12 · 715 阅读 · 0 评论 -
常见的几种排序方法(冒泡排序、选择排序、插入排序、快速排序等)
排序算法有很多,包括插入排序,冒泡排序,堆排序,归并排序,选择排序,计数排序,基数排序,桶排序,快速排序等。插入排序,堆排序,选择排序,归并排序,快速排序,冒泡排序都是比较排序,它们通过对数组中的元素进行比较来实现排序,其他排序算法则是利用非比较的其他方法来获得有关输入数组的排序信息。冒泡排序冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元...原创 2019-10-17 12:00:03 · 4886 阅读 · 0 评论 -
HDOJ之2012——2021
2012#include<stdio.h>#include<math.h>int main() { int x, y; while(scanf("%d%d", &x,&y)!=EOF && (x || y)) { int flag = 1; for(int i = x; i <= y; i++) { in...原创 2019-10-25 11:00:46 · 177 阅读 · 0 评论 -
杭电OJ之1720、1062、2104、1064、2734、1170、1197、2629
1720#include<stdio.h>int main(){ int a,b; while(scanf("%x%x",&a,&b)!=EOF) { int sum=a+b; printf("%d\n",sum); } return 0;}1062#include<std...原创 2019-10-14 22:31:18 · 315 阅读 · 0 评论 -
杭电OJ(HDOJ)水题之2000——2011、2039
2000#include <stdio.h> int main() { char a,b,c,d,x,y,z; while(scanf("%c%c%c%c",&a,&b,&c,&d) != EOF) { x=a<b?a:b; x=x<c?x:c; z=a&g...原创 2019-10-12 00:12:15 · 263 阅读 · 0 评论 -
杭电OJ(HDOJ)入门题目列表
第一阶段:开始入门吧!(15天,53题)一.输入输出练习(2天,10题)1000、1089—1096、1001二.简单操作:(2—4天,12题)2000—2011、2039三.试水(3—4天,8题)1720、1062、2104、1064、2734、1170、1197、2629四.回归水题(4-6天,24题)2012—2030、2032、2040、2042、2054、2055第二阶...原创 2019-10-10 08:53:59 · 6221 阅读 · 0 评论 -
杭电OJ(HDOJ)之1000——1002、1089——1096
1000#include <stdio.h>int main(){ int a,b; while(~scanf("%d %d",&a,&b)) //多次输入a和b。等效于 while(scanf("%d %d",&a,&b)!=EOF) { printf("%d\n",a+b); }}...原创 2019-10-08 18:41:53 · 208 阅读 · 0 评论 -
POJ答案解析1026——1047,全部AC
谷歌浏览器可以翻译POJ问题全文。下面代码大都用C++写的,偶尔用C。1026#include <stdio.h>#include <stdlib.h>#include <string.h>#define MAX 202int key[MAX], t[MAX];/* 求解置换周期 */void get_time(int n){ int...原创 2019-10-06 11:53:06 · 484 阅读 · 1 评论 -
基本算法:穷举法、回溯法、递归、分治法、贪心算法简介
原创 2019-10-04 20:35:27 · 5215 阅读 · 0 评论 -
杭电OJ刷题指南(ACM)
1.首先,打开百度,输入“杭电OJ”进行搜索2.然后进入杭电OJ官网,进行注册3.输入注册信息4.接下来进入详细注册界面,将信息填写完整后点击Submit5.接下来即可登录帐号,填写用户名和密码后 点击Sign in6.接下来,进入刷题界面7.英文题自行翻译,从11页开始有中文题,无论中英完成后都计入刷题数8.做题时一定要仔细看题,积极尝试9. 选择答题语言为C语言...原创 2019-09-27 08:52:36 · 71926 阅读 · 18 评论 -
红黑树与AVL树
一、在理解红黑树之前,我们先看一下二叉查找树由于红黑树本质上就是一棵二叉查找树,所以在了解红黑树之前,咱们先来看下二叉查找树。二叉查找树特性:1、左子树上所有的节点的值都小于或等于他的根节点上的值2、右子树上所有节点的值均大于或等于他的根节点的值3、左、右子树也分别为二叉查找树如图:可以看到如果要查询10的话,10>9因此到他的右子树,右子树根节点为13,10<1...原创 2019-09-13 15:40:42 · 516 阅读 · 1 评论 -
最大堆和最小堆基本概念(以及栈和堆的区别)
堆和栈的区别:一、堆栈空间分配区别: 1、栈(操作系统):由操作系统自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈; 2、堆(操作系统): 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收,分配方式倒是类似于链表。二、堆栈缓存方式区别: 1、栈使用的是一级缓存, 他们通常都是被调用时处于存储空间中,调用完毕立即释放; 2、堆是存...原创 2019-09-13 09:57:11 · 2003 阅读 · 0 评论