技术与生活博客
life goes on, code shows
汝之宿命
这个作者很懒,什么都没留下…
展开
-
关于INT_MAX和INT_MIN的获得(7,20shopee一面)
今天在计算字符串转换为数字的时候,忘记了INT_MAX和INT_MIN包含于哪个头文件了。然后贼尴尬,贼显得菜。再此记录以下:首先int 是有符号整数,然后00000000 00000000 00000000 00000000 是无符号最小值。如果要求得无符号得最大值,那么直接对于0取反,接可以了。对于无符号整数得值,有一半是有符号数,有一半是负数,而对于负数最大是比整数最大多一的负数。解释:负数在计算机中都是以补码方式存储的,且没有任何正数的补码是 100000000000000000000 ,所以把原创 2020-07-20 23:09:04 · 221 阅读 · 0 评论 -
sizeof和strlen 分享
1 sizeof 运算符首先:sizeof是运算符,会在编译期间将里面的东西展开来获取类型,所以里面的任何语句都不会执行。编译期间将里面的类型大小解析出来,传入指针,会获得指针的本身大小,传入数组名字,会获得数组总的占据字节大小。下面看看:指针的大小:64位编译器里面是8字节;2 strlen()函数这个是一个计算该指针指向的字符串的大小;传入的参数只能是 const char 指针*计算的是这个字符串除 ‘\0’ 外的字符串长度1+2 总结综上对于上述两者是完全不同的,一个是基于字符串里面的原创 2020-07-19 22:18:03 · 76 阅读 · 0 评论 -
【坑】补-关于c++里面运算符的优先级
出问题的两点:& 的优先级比较低,低于了 !=符号的;在数组中出现两次的数题目中,用到了异或,和与,在其中要注意1来左移作为标志位的情况时,和数字相与的结果不是非0即1!而是非0即其他的正数! 所以要通过判断是否==0来区别数字!~附运算符优先级图片:【总结】优先级最高的是第一:括号和++自增自减运算符;第二: 取地址之类的单目运算符(非也是)第三:算符运算符第四:左移右移第五:大于小于等第六 : 逻辑或与等...原创 2020-07-18 16:26:02 · 150 阅读 · 0 评论 -
使用std::sort遇到问题【解决】
在于sort一个整数数组和sort一个字符串数组,一个为 3 ,30 这两个的顺序是不同的。int 的3是排在30前面(在比较函数里面都是通过 换成字符串比较的)【问题】结果不一样代码部分:int main(){ vector<int> nums={3,30,34,5,9}; vector<string>strs={"3","30","34","5","9"}; sort(strs.begin(), strs.end(), [](strin原创 2020-07-17 13:31:11 · 346 阅读 · 0 评论 -
关于局部变量和全局变量运行快慢
在做leetcode反转链表的时候,发现了一个问题。迭代方法,我定义全局变量和局部变量next指针的运行时间是不同的。全局变量是24ms,局部变量是花了8ms。一开始我想的是局部变量的话,创建销毁的代价不想承担(调用构造函数和析构函数),但是实际而言,这点代价还没有 去寻址该变量所花费的时间代价大。原因:从rics角度来说,就是在于局部对象存放在栈中,容易被cache命中,可以利用栈帧来进...原创 2020-04-06 19:09:16 · 2865 阅读 · 0 评论 -
148. Sort List(链表排序/O(1)空间)
将链表排序,但是要求不能使用额外空间。空间复杂度O(1),时间复杂度O(nlgn)。首先这个题很容易使用递归和分治方法,但是在递归的过程中会需要堆栈空间来存储递归函数的栈帧。递归使用的是up-to-bottom策略,在这里使用bottom-to up策略。思路:首先先将list分成两个list,然后再排序合并两个链表。step=1,2,4,8.。。因为分链表的时候按照step分,合在一起后...原创 2020-03-27 12:23:45 · 208 阅读 · 0 评论 -
理解lvalues和rvalues在c/c++
在看 Eli Bendersky的文章的时候,记录一下。引言左值和右值在编程中不是常遇见,但出现时候,不能很快理解,所以这次做一个总结。int foo(){return 2; }int main(){ foo()=2;return 0;}gcc编译这段代码cpp error: lvalue required as left operand of assignmentf...原创 2020-02-23 11:29:36 · 267 阅读 · 0 评论 -
关于string类中的 c_str()函数
string和c_str()使用时的坑 在这里插入图片描述 看到结果了么这个运行的结果和我们理解的是不会有差距.对于经验丰富的开发者可能会微微一笑,但是对于一个刚刚学习的人就开始疑惑了.这里主要说两个问题: 1、声明了一个string实例,使用c_str()进行赋值后,可以正常输出c_str()的值,但是直接输出string实例的实现,实际是空字符串 2、在第一个...转载 2019-10-30 10:18:28 · 897 阅读 · 0 评论 -
遇见了错误:“AddressSanitizer: heap-buffer-overflow on address...”
解决方法:数组越界了,找数组使用的地方,我的二十还没有存入元素到容器vector中,我就用下标读取,所以错了!原创 2019-10-27 22:25:34 · 3996 阅读 · 0 评论 -
c++11的 to_string源码实现
关于to_string的实现//实现to_string函数#include#includeusing namespace std;#define max 100string to_String(int n){ int m = n; char s[max]; char ss...转载 2019-10-19 10:48:18 · 1622 阅读 · 3 评论 -
关于错误while(里面包含了比较语句)
对于代码while(stack.top() ! =*pPush || stack.empty())运行时,出现中断结束程序,原因在于while语句判断时是先判断从左到右,(???)由于top栈顶没有数字,所以无法与pPush进行比较!需要阅读栈的源码!以及while()函数的源码...原创 2019-10-13 10:08:40 · 239 阅读 · 0 评论 -
《数学之美》之 自然语言处理
基于规则的自然语言处理,基于统计的自然语言处理,Markov Hypothesis,二元,三元,多元,N元Markov模型,模型训练,零概率问题,平滑方法,Zipf定律原创 2019-09-13 21:31:56 · 312 阅读 · 0 评论 -
关于 隐含马尔可夫模型
基于统计的自然语言处理=隐含马尔可夫模型+通信系统到目前为止,隐含马尔可夫模型一直是自然语言处理问题最为快速有效的方法,并且他成功地解决了机器翻译和语音识别问题。上一篇博客写了通信系统的模型:发送源(消息)----编码–》信道(带宽很有影响)----解码—》接收方(消息)在通信中,假设发送方的发送信号为s1,s2,…,接收方结束到的信号为o1,o2,…由于发送方的信号是唯一确定的,而接收...原创 2019-09-15 22:10:30 · 106 阅读 · 0 评论 -
学习笔记-关于c++的*与& 和c中 不同用法
在从c过渡到c++的过程中,正在刷c++ primer的时候,发现了问题,c中的*用作定义或者使用指针时,而c++中时用来解引用,还有&的两种用法。首先关于&操作符在c++中重点在于,当&在等号左边时 int &b=a; //为引用,引用就是变量a的别名当 & 在等号的右边时, int p=&a; //为取地址,将a的地址取给p(这个...原创 2019-09-17 20:39:12 · 145 阅读 · 0 评论 -
关于坑// [Error] expected initializer before '*' token
你的struct定义的结构体没有在 } 加上 ;原创 2019-09-25 10:46:46 · 18042 阅读 · 5 评论 -
关于memset()函数
该函数功能是给内存的一块空间的元素集体赋值void *memset(void *s, int ch, size_t n);函数解释:将s中当前位置后面的n个字节 (typedef unsigned int size_t )用 ch 替换并返回 s 。memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法memset()函数原型是extern ...原创 2019-10-06 13:59:28 · 190 阅读 · 0 评论 -
关于精度能否用== 判断的问题
对于低级错误,double b,a;...if(a==b)...错误代码!因为精度原因,两者不能用符号判断是否相等原创 2019-10-07 19:49:40 · 259 阅读 · 1 评论 -
关于错误: [Error] ld returned 1 exit status
出现这个错误的原因是:你的编译器正在执行刚刚的程序还没关;小黑框还在。解决措施:关闭就好。原创 2019-03-13 20:52:11 · 115275 阅读 · 3 评论 -
读《数学之美》吴军著
文字语言vs数字和信息开卷伊始,吴军博士就给讲述了一个从前想不清楚的问题,他在书中提到,文字其实和数学是有关系的,它们并不像是理科,文科那样的完全一刀切开,正是因为数学的发展,带动了语言文字的发展。以古代人的信息传递而言,一开始,古人类也是发出类似吱吱的声音,然后同伴表示清楚后,信息得到了传播。模型是:(说话人)信息–编码后–>(信道)信息---->信息(接收者解码后)而折其实...原创 2019-09-13 00:40:01 · 157 阅读 · 0 评论