今天,我们来聊一道常见的考题,也出现在腾讯面试的三面环节,非常有意思。具体的题目如下:文件中有40亿个QQ号码,请设计算法对QQ号码去重,相同的QQ号码仅保留一个,内存限制1G.这个题目的意思应该很清楚了,比较直白。为了便于大家理解,我来画个动图玩玩,希望大家喜欢。能否做对这道题...
今天,我们来聊一道常见的考题,也出现在腾讯面试的三面环节,非常有意思。具体的题目如下:文件中有40亿个QQ号码,请设计算法对QQ号码去重,相同的QQ号码仅保留一个,内存限制1G. 这个题目的意思应该很清楚了,比较直白。为了便于大家理解,我来画个动图玩玩,希望大家喜欢。能否做对这道...
一直觉得C语言较其他语言最伟大的地方就是C语言中的指针,有些人认为指针很简单,而有些人认为指针很难,当然这里的对简单和难并不是等价于对指针的理解程度。为此在这里对C语言中的指针进行全面的总结,从底层的内存分析,彻底让读者明白指针的本质。01 指针变量首先读者要明白指针是一个变量,...
近日据慢雾区情报显示,针对门罗币(XMR)转账锁定攻击在多个交易所出现,慢雾安全团队在收到情报第一时间进行分析跟进,本着负责任披露的原则我们第一时间在慢雾区进行了预警并为我们所服务的客户进行了及
作者:Jung_zhang 链接:https://www.cnblogs.com/jungzhang/p/5547348.html 今天给大家分享几个C语言中的坑。 一、带参数的宏展开顺序 #include #define f(a,b) a##b #define g(a) #a #define h(a) g(a) int main(void) { printf("%s\n",h(f(
作者:Jung_zhang 链接:https://www.cnblogs.com/jungzhang/p/5547348.html 今天给大家分享几个C语言中的坑。 一、带参数的宏展开顺序 #include #define f(a,b) a##b #define g(a) #a #define h(a) g(a) int main(void) { printf("%s\n",h(f(
作者:翰墨小生 链接:https://www.cnblogs.com/graphics/archive/2010/06/21/1752421.html 问题描述 任意给定一个32位无符号整数n,求n的二进制表示中1的个数,比如n = 5(0101)时,返回2,n = 15(1111)时,返回4 这也是一道比较经典的题目了,相信不少人
最近刚把 DYS388 项目了结,期间写了不少程序,写着写着想到了一下东西,于是总结了一下。一、什么是占用式程序一个进程在一个时刻只能处理一个任务。每个任务是为了完成一
PIC16F877A串口发送,查询方式,就为了调出这个费了我一天时间,原来是串口芯片电压问题,现总结如下:1、注意232串口芯片供电电压,有5V和3.3V的2、注意TXD、RXD接线,单片
标准的C语言中没有空语句。但在单片机的C语言编程中,经常需要用几个空指令产生短延时的效果。这在汇编语言中很容易实现,写几个nop就行了。在keil C51中,直接调用库函数:#include // 声明了void _nop_(void);_nop
从业十年,教你单片机入门 第28讲:求余跟上一节讲的求商都是属于整除运算,区别是:求余返回余数,求商返回商。整除求余的余数有一个很明显的规律:余数永远小于除数(除数不为0的情况下)。比如,除数是10,那么不管
从业十年,教你单片机入门 第27讲:C语言中,乘法符号不是“×”而是“*”,除法求商的符号不是“÷”而是“/”。乘除法符号跟我们日常用的数学符号有点不一样,
从业十年,教你单片机入门 第26讲:乘法的溢出规律跟加法的溢出规律是一样的。举一个例子如下:unsigned char k=30;unsigned char n=10;unsigned char a;a=k*n;分析:k和n相乘,相当于30乘以10,运算结果是300(十六进
从业十年,教你单片机入门 第25讲:上一节我列举的乘法例子中,右边的参与运算的数据都是两个。实际上,C语言规则没有限制数据个数,它的通用格式如下:“保存变量”=“被乘数1”*“乘数2&
从业十年,教你单片机入门 第24讲:请先看以下的乘法语法格式:“保存变量”=“被乘数1”*“乘数2”*... *“乘数N”;含义是:右边的“被乘数”与各“乘数&r
从业十年,教你单片机入门 第23讲:不管是以前讲的加法,现在讲的减法,还是未来讲的乘法和除法,我都会强烈建议“请把所有参与运算的变量都转成unsigned long类型”。unsigned long变量是三种数据类型中
从业十年,教你单片机入门 第22讲:在开始本章节之前,先纠正一下前面第17节内容的一个小bug。我原文中写道:“保存变量”+=“加数1”+“加数2”+...+“加数N”;相当于:&ld
从业十年,教你单片机入门 第21讲:连减。上一节我列举的减法例子中,右边的减数只有一个。实际上,C语言规则没有限制减数的个数,它的通用格式如下:“保存变量”=“被减数”-“减数1&rdq
从业十年,教你单片机入门 第20讲:请先看以下的减法语法格式:“保存变量”=“减数1”-“减数2”-...-“减数N”;含义是:右边的“减数”与“减数”相
从业十年,教你单片机入门 第19讲:在开始本节内容之前,先告诉大家前面第十一节内容有一处笔误,unsigned long的数据长度应该是4个字节,而不是3个字节。上一节提到了一个“隐藏中间变量”的概念,两个加