![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
KID怪盗基德1412
这个作者很懒,什么都没留下…
展开
-
笔记一(关于STL中min_element,max_element,priority_queue的使用)
#include <iostream>#include<algorithm>#include<iomanip>#include<queue>#include<vector>#define N 3using namespace std;struct point{ double x; double y;};...原创 2019-02-25 21:49:02 · 189 阅读 · 0 评论 -
由十进制转换为十六进制字符串(两种方法)
#include <iostream>#include<string>using namespace std;char tochar(int n){ switch(n) { case 10: return 'a';break; case 11: return 'b';break; ...原创 2019-04-02 13:19:27 · 4423 阅读 · 0 评论 -
linux下的stdin,stdout,stderr详解(转载)
stdout, stdin, stderr的中文名字分别是标准输出,标准输入和标准错误。在Linux下,当一个用户进程被创建的时候,系统会自动为该进程创建三个数据流,也就是题目中所提到的这三个。那么什么是数据流呢(stream)?我们知道,一个程序要运行,需要有输入、输出,如果出错,还要能表现出自身的错误。这是就要从某个地方读入数据、将数据输出到某个地方,这就够成了数据流。因此,一个进程初...转载 2019-04-08 10:42:19 · 830 阅读 · 0 评论 -
LZW压缩算法详解
把话说明白很重要->https://segmentfault.com/a/1190000011425787转载 2019-04-03 11:39:55 · 320 阅读 · 0 评论 -
C/C++空结构体,空数组,空类作用
空类对象的sizeof 大小为1空结构体对象的sizeof 大小也为1为什么?深度探索c++对象模型中是这样说的:那是被编译器插进去的一个char ,使得这个class的不同实体(object)在内存中配置独一无二的地址。也就是说这个char是用来标识类的不同对象的这就是我们刚才所说的实例化的原因(空类同样可以被实例化),每个实例在内存中都有一个独一无二的地址,为了达到...转载 2019-04-23 09:06:51 · 1010 阅读 · 0 评论 -
字符串string、字符char、数字int之间的转换
1.字符串<=>字符1.1 字符串到字符转换直接像数组一样取值char ch=str[i],或者char ch=str.at(i)string str="this is a test";char ch;for(int i=0;i<str.size();++i){ ch=str.at(i); putc(ch);}1.2字符到字符串转换...原创 2019-04-23 16:56:08 · 2336 阅读 · 0 评论 -
字节跳动-笔试(聪明的编辑)
我叫王大锤,是一家出版社的编辑。我负责校对投稿来的英文稿件,这份工作非常烦人,因为每天都要去修正无数的拼写错误。但是,优秀的人总能在平凡的工作中发现真理。我发现一个发现拼写错误的捷径:1. 三个同样的字母连在一起,一定是拼写错误,去掉一个的就好啦:比如 helllo -> hello2. 两对一样的字母(AABB型)连在一起,一定是拼写错误,去掉第二对的一个字母就好啦:比如 hell...原创 2019-05-20 14:40:45 · 952 阅读 · 0 评论 -
内存对齐问题的一些总结
要了解为什么要内存对齐,首先我们要了解什么是内存对齐什么是内存对齐关于什么是内存对齐,我们先来看几个例子typedef struct { int a; double b; short c;}A;typedef struct { int a; short b; double c;}B;分别对他们求大小,sizeof(A),s...转载 2019-06-11 15:44:43 · 460 阅读 · 0 评论 -
内存拷贝函数memcpy
memcpy(拷贝内存内容) 定义函数:void * memcpy( void * dest, const void *src, size_t n );memcpy()用来拷贝src所指的内存内容前n个字节到dest所指的内存地址上。与strcpy()不同的是,memcpy()会完整的复制n个字节,不会因为遇到字符串结束'/0'而结束。memcpy()函数可以拷贝任意类型的数据。memc...转载 2019-08-25 20:31:21 · 896 阅读 · 0 评论 -
爬楼梯2
题目描述在你面前有一个n阶的楼梯(n>=100且n<500),你一步只能上1阶或3阶。请问计算出你可以采用多少种不同的方式爬完这个楼梯(到最后一层为爬完)。输入描述:一个正整数,表示这个楼梯一共有多少阶输出描述:一个正整数,表示有多少种不同的方式爬完这个楼梯示例1输入100输出24382819596721629#include<...原创 2019-08-22 20:15:36 · 372 阅读 · 0 评论 -
由rand7()均匀生成rand10()
转载至:https://blog.csdn.net/BIT_666/article/details/84936793概述已知随机数生成函数rand7()可以生成整数1-7之间的均匀分布,如何使用rand7()构造rand10(),使rand10()可以生成整数1-10的均匀分布分析要保证rand10()生成的随机数是1-10的均匀分布,可以先产生1-10*n的均匀分布,假设x是1-1...转载 2019-08-18 11:10:20 · 242 阅读 · 0 评论 -
STL中next_permutation和sort()的底层实现
1. 我们都知道STL中next_permutation(iterator_first,iterator_end)和prev_permutation(iterator_first,iterator_end)分别是对一个序列的升序全排列和降序全排列(其中相同元素是同一种情况),废话不多说,我们更关心它的底层实现,代码如下:代码源自:https://www.cnblogs.com/luruiyua...转载 2019-04-10 16:22:37 · 250 阅读 · 0 评论 -
笔记二(C++中strtok字符串剪切函数以及格式输入函数sscanf)
#include <iostream>#include<cstring>/*对于输入1,2,3,4,5,6...,输出1 2 3 4 5 6...*/using namespace std;int main(){ ios::sync_with_stdio(false); int dp[1000],i=0; cin.tie(0); ...原创 2019-02-26 19:30:53 · 158 阅读 · 0 评论 -
笔记四(C++中大数相乘)
题目描述//有两个用字符串表示的非常大的大整数,算出他们的乘积,也是用字符串表示。不能用系统自带的大整数类型。//输入描述:空格分隔的两个字符串,代表输入的两个大整数//输出描述:输入的乘积,用字符串表示//示例1输入72106547548473106236 982161082972751393输出708202448296345380408486564661059867...原创 2019-03-19 21:09:00 · 247 阅读 · 0 评论 -
大数整除问题(C++)
题目描述:定理:把一个至少两位的正整数的个位数字去掉,再从余下的数中减去个位数的5倍。当且仅当差是17的倍数时,原数也是17的倍数 。例如,34是17的倍数,因为3-20=-17是17的倍数;201不是17的倍数,因为20-5=15不是17的倍数。输入一个正整数n,你的任务是判断它是否是17的倍数。样例输入:3420120987654131717171717171717171717...原创 2019-03-16 11:31:23 · 2138 阅读 · 1 评论 -
笔记五(C++中对于迷宫寻路问题的BFS求解)
题目描述假设一个探险家被困在了地底的迷宫之中,要从当前位置开始找到一条通往迷宫出口的路径。迷宫可以用一个二维矩阵组成,有的部分是墙,有的部分是路。迷宫之中有的路上还有门,每扇门都在迷宫的某个地方有与之匹配的钥匙,只有先拿到钥匙才能打开门。请设计一个算法,帮助探险家找到脱困的最短路径。如前所述,迷宫是通过一个二维矩阵表示的,每个元素的值的含义如下 0-墙,1-路,2-探险家的起始位置,3-迷宫的...转载 2019-03-20 16:11:14 · 543 阅读 · 0 评论 -
笔记三、最大数字(C++)
题目描述给你一个整数 n,使得从 n 中删除 k 个数字之后的数字最大。输入输入一个整数 n (0 <= n <= 10^100),和需要删除数字 k <= 100的个数输出输出删除k个数字之后的最大整数样例输入1432219 3样例输出4329<First>#include <iostream>#include<...原创 2019-03-17 16:59:57 · 876 阅读 · 0 评论 -
C++快速幂剖析
如果我们要求,如果我们利用传统,那么时间复杂度将会达到,如果我们将指数进行二进制分解可以得到前面系数分别二进制的各位数,因此,我们可以通过快速幂算法大大减少大数幂运算的时间复杂度。代码如下:()时间复杂度为#include <iostream>//#include<string>#include<cstdio>using namespace std;...原创 2019-03-25 19:57:54 · 122 阅读 · 0 评论 -
笔记六、蓝桥杯(bfs九宫重排)
#include <iostream>#include<set>#include<queue>#include<cstring>#include<string>using namespace std;struct state{ int bx,by,step; char ch[3][3]; state...转载 2019-03-22 14:49:14 · 152 阅读 · 0 评论 -
C++中结构体和类的区别
转载源自http://blog.sina.com.cn/s/blog_48f587a80100k630.html(总结的非常好)C++中的struct对C中的struct进行了扩充,它已经不再只是一个包含不同数据类型的数据结构了,它已经获取了太多的功能。struct能包含成员函数吗? 能!struct能继承吗? 能!!struct能实现多态吗? 能!!!既然这些它都能实现,那它和cl...转载 2019-03-29 15:45:55 · 651 阅读 · 0 评论 -
笔记七(C++中混合四则运算)
对于简单的四则运算主要算法的实现就是将一个表达式的中缀表达式转换为后缀表达式,这其中应用了栈的后进先出规则;目的:(转载自https://blog.csdn.net/anye3000/article/details/7939203)将中缀表达式(即标准形式的表达式)转换为后缀式。例子:a+b*c+(d*e+f)*g转换成abc*+de*f+g*+转换原则:1.当读到一个...原创 2019-03-23 11:05:05 · 5685 阅读 · 0 评论 -
洗牌程序(面试常问)
Solution 1(时间复杂度约为O(n^2),空间复杂度为O(n))#include <iostream>#include<cstdlib>#include<vector>#define N 54using namespace std;void func(vector<int>&num){ int hash[N+...原创 2019-08-26 20:06:01 · 422 阅读 · 0 评论