内联函数 vs #define

摘要: 内联函数和#define的差别: 内联函数和普通函数相比可以加快程序运行的速度,因为不需要中断调用,在编译的时候就可以直接被镶嵌到目标代码中,而宏只是一个简单的替换。 内联函数要做类型检查。不包含for,while.switch等语句。 宏是在代码处不加任何验证的简单替换,而内联函数是将代码直接插入 阅读全文
posted @ 2017-03-02 03:05 123_123 阅读(140) 评论(0) 推荐(0) 编辑

sizeof pointer and struct

摘要: cpu的优化规则:对于n字节的元素,首地址能被n整除。才能获取最好的性能,所以设计编译器的时候可以遵循这个规则:对于每一个变量,可以从当前位置向后找到第一个满足这个条件的地址作为首地址。 在访问内存的时候,如果地址按照四字节对齐,则访问效率会高很多,这种现象的原因在于访问的硬件电路。一般情况下,地址 阅读全文
posted @ 2017-03-02 02:33 123_123 阅读(123) 评论(0) 推荐(0) 编辑

define vs typedef vs const

摘要: #define vs typedef #define 它在编译预处理时进行简单的替换,不作正确性检查。它是预处理指令。 typedef 它在自己的作用域内给一个已经存在的类型一个别名。它是在是在编译时处理的 执行时间不一样 #define 是在预处理阶段,也就是在编译之前进行替换工作 typedef 阅读全文
posted @ 2017-03-02 02:07 123_123 阅读(155) 评论(0) 推荐(0) 编辑

翻转单词顺序列

摘要: 题目描述 例如,“student. a am I”。正确的句 class Solution { public: string ReverseSentence(string str) { if(str.size()==0) return str; if (str.size() == 0) return 阅读全文
posted @ 2017-03-02 01:27 123_123 阅读(110) 评论(0) 推荐(0) 编辑

二叉搜索树的第k个结点

摘要: 题目描述 给定一颗二叉搜索树,请找出其中的第k大的结点。例如, 5 / \ 3 7 /\ /\ 2 4 6 8 中,按结点数值大小顺序第三个结点的值为4。 /* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *ri 阅读全文
posted @ 2017-03-02 00:58 123_123 阅读(101) 评论(0) 推荐(0) 编辑

顺时针打印矩阵

摘要: 题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10. class Solution 阅读全文
posted @ 2017-03-01 23:32 123_123 阅读(185) 评论(0) 推荐(0) 编辑

旋转数组的最小数字

摘要: 题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 class So 阅读全文
posted @ 2017-03-01 22:18 123_123 阅读(120) 评论(0) 推荐(0) 编辑

二维数组中的查找

摘要: 题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 class Solution { public: bool Find(int target, vector> array) { if(array.size()==0) re... 阅读全文
posted @ 2017-03-01 19:21 123_123 阅读(62) 评论(0) 推荐(0) 编辑

替换空格

摘要: 题目描述 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 阅读全文
posted @ 2017-03-01 18:58 123_123 阅读(93) 评论(0) 推荐(0) 编辑

构建乘积数组

摘要: class Solution { public: vector multiply(const vector& A) { vector result; if(A.size() == 0) return result; result.push_back(1); int temp = 1;... 阅读全文
posted @ 2017-03-01 18:43 123_123 阅读(75) 评论(0) 推荐(0) 编辑