![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
求职
文章平均质量分 84
徐九五
学生
展开
-
《剑指Offer》第一章
第一题:实现atoi函数 这个题目看起来简单,写bug free比较困难。非法输入、是否有正负号,是否溢出、非法输入如何处理错误 int Errno = 0; int StrToInt(const string &str) { long long result = 0; //用long long来存储结果,检测溢出 int flag = 1; //表示正负号 int i = 0;原创 2017-07-03 20:37:24 · 175 阅读 · 0 评论 -
《剑指Offer》第五章
第一题:数组中出现次数超过一半的数字 仔细分析一下,这个数字必定是数组的中位数。可以利用快排的思想 int MoreThanHalfNum(vector &nums) { int length = nums.size(); int middle = length >> 1; int start = 0; int end = length - 1; int index = Partit原创 2017-07-10 22:03:38 · 237 阅读 · 0 评论 -
《剑指Offer》第二章
第一题:赋值运算符 class MyString { public: MyString(char *data = NULL); MyString(const MyString &str); ~MyString() private: char *m_pData; };注意点:返回值类型、参数类型、证同处理、内存泄漏 MyString& operator=(cons原创 2017-07-03 21:40:08 · 193 阅读 · 0 评论 -
《剑指Offer》第三章
第一题:数值的整数次方 需要注意的地方:指数为负数,指数为负数的时候,数值为0,首先给出一般性的解法: //注意,判断浮点数是否相等,不能用==,而是差值在某个范围内 bool equal(double num1, double num2) { if (num1 - num2 > -0.0000001 && num1 - num2 < 0.0000001) return true; e原创 2017-07-06 17:21:56 · 212 阅读 · 0 评论