编程基础
文章平均质量分 62
free_lock
La vie ce n'est pas d'attendre que les orages passent... C'est d'apprendre comment danser sous la pluie.
展开
-
走迷宫的题目
一个迷宫n*m的迷宫格,每格都有一份价值为aija_{ij}的礼物,从左上角开始到右下角(且只能向下和向右),小明可以选择收获路径上的每个单元格的礼物,但必须满足其值比手中所有礼物的价值都要高,也可以选择不拿礼物,一直到迷宫右下角时,小明手中有k份礼物总共有多少种方案。 比如 1 2 2 1 长度为原创 2015-09-27 21:22:27 · 1371 阅读 · 0 评论 -
那些不安全的库函数
C 和 C++ 不能够自动地做边界检查,边界检查的代价是效率。一般来讲,C 在大多数情况下注重效率。然而,获得效率的代价是,C 程序员必须十分警觉以避免缓冲区溢出问题。C语言标准库中的许多字符串处理和IO流读取函数是导致缓冲区溢出的罪魁祸首。我们有必要了解这些函数,在编程中多加小心。一、字符串处理函数strcpy()strcpy() 函数将源字符串复制到缓冲区。没有指定要复制字符的具体数目!如果源字转载 2015-09-28 16:45:00 · 839 阅读 · 1 评论 -
C++单例模式
很久就想写一篇关于单例模式的文章,感觉自己看了一些资料但是一直没有对思路进行整理。为什么需要单例模式如果希望在系统中某个类的对象只能存在一个,那么单例模式是最好的选择,比如说,你的系统只有一个台打印机,所以你希望打印机的对象个数限定为1,或者你希望你的PC只连接一个键盘,应用程序的日志文件,你希望只有一个实例去操作,Windows 的任务管理器,多线程的线程池设计。详见单例模式常见应用场景如何阻止对原创 2015-10-02 15:39:33 · 301 阅读 · 0 评论 -
printf内部实现
通过printf的简易实现,熟悉变长参数表原创 2015-09-16 15:26:19 · 8271 阅读 · 1 评论 -
数组和指针
数组和指针什么时候相同所有作为函数参数的数组名总是可以通过编译器转换为指针,其他情况下,数组的声明就是数组,指针的声明就是指针,两者不能混淆,但是在使用数组时,两者可以互换。声明:extern,如extern char a[];不能改写成指针的形式定义,如char a[10]; 不能改写成指针的形式函数的参数,选择数组形式或指针形式。在表达式中使用: 数组形式或者指针形式都可以。 什么原创 2015-09-16 10:42:17 · 280 阅读 · 0 评论 -
类之间的关系
在类之间最常见的关系是依赖(use-a)聚合(has-a)继承(is-a)原创 2015-09-18 17:45:05 · 368 阅读 · 0 评论 -
剑指offer66题 中篇
第二十三题:二叉搜索树的后序遍历序列题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 解题思路 二叉搜索树的特点,左子树比根结点小,右子树都比根结点大。后序遍历的特点,最后一个数字是根结点。所以我们找到比根结点小的部分,其最后一个数字,应该是左子树的根结点,对于右子树亦然,应该都是比根结点原创 2015-11-24 19:58:59 · 859 阅读 · 0 评论 -
剑指offer 66题 下篇
第四十三题:孩子们的游戏(圆圈中最后剩下的数)题目描述 每年六一儿童节,NowCoder都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为NowCoder的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈原创 2015-11-24 21:26:29 · 692 阅读 · 0 评论 -
matlab 单双精度引发的血案
今天在测试一个算法时遇到了少见的问题,觉得值得记录,总结起来,可以用下面几行代码来表示:看到了么,这个数字在加减去1后都是不变的,然而,当bbb不是单精度时,答案就是正确的: 当然,在交互行中直接赋值的变量默认是double类型。这么写只是为了强调数据的格式。matlab在用双精度减(或加)单精度类型时,返回的结果竟然存储格式是单精度的,而单精度的实际有效位数为24位,也就是能够表示的范围最大原创 2016-04-05 16:02:20 · 1445 阅读 · 0 评论