随笔分类 -  C/C++

摘要:2. 尾部的零 设计一个算法,计算出n阶乘中尾部零的个数 您在真实的面试中是否遇到过这个题? Yes 样例 11! = 39916800,因此应该返回 2 class Solution { public: /* * @param n: A long integer * @return: An int 阅读全文
posted @ 2017-12-05 14:36 Quintinz 阅读(639) 评论(0) 推荐(0)
摘要:用 O(1) 时间检测整数 n 是否是 2 的幂次。 您在真实的面试中是否遇到过这个题? Yes 样例 n=4,返回 true; n=5,返回 false. class Solution { public: /* * @param n: An integer * @return: True or f 阅读全文
posted @ 2017-12-05 14:32 Quintinz 阅读(421) 评论(0) 推荐(0)
摘要:n&(n-1)作用:将n的二进制表示中的最低位为1的改为0,先看一个简单的例子:n = 10100(二进制),则(n-1) = 10011 ==》n&(n-1) = 10000可以看到原本最低位为1的那位变为0。弄明白了n&(n-1)的作用,那它有哪些应用? 1、 判断一个数是否是2的方幂n > 0 阅读全文
posted @ 2017-12-05 14:18 Quintinz 阅读(646) 评论(0) 推荐(0)
摘要:181. 将整数A转换为B 如果要将整数A转换为B,需要改变多少个bit位? 注意事项 Both n and m are 32-bit integers. 您在真实的面试中是否遇到过这个题? Yes 样例 如把31转换为14,需要改变2个bit位。 (31)10=(11111)2 (14)10=(0 阅读全文
posted @ 2017-12-05 11:43 Quintinz 阅读(212) 评论(0) 推荐(0)
摘要:有一些原木,现在想把这些木头切割成一些长度相同的小段木头,需要得到的小段的数目至少为 k。当然,我们希望得到的小段越长越好,你需要计算能够得到的小段木头的最大长度。 样例 有3根木头[232, 124, 456], k=7, 最大长度为114. 有3根木头[232, 124, 456], k=7, 阅读全文
posted @ 2017-12-05 11:14 Quintinz 阅读(328) 评论(0) 推荐(0)
摘要:422. 最后一个单词的长度 给定一个字符串, 包含大小写字母、空格' ',请返回其最后一个单词的长度。 如果不存在最后一个单词,请返回 0 。 阅读全文
posted @ 2017-12-05 10:08 Quintinz 阅读(175) 评论(0) 推荐(0)
摘要:给定一个字符串,判断其是否为一个回文串。只包含字母和数字,忽略大小写。 你是否考虑过,字符串有可能是空字符串?这是面试过程中,面试官常常会问的问题。 在这个题目中,我们将空字符串判定为有效回文。 你是否考虑过,字符串有可能是空字符串?这是面试过程中,面试官常常会问的问题。 在这个题目中,我们将空字符 阅读全文
posted @ 2017-12-04 14:17 Quintinz 阅读(226) 评论(0) 推荐(0)
摘要:string::size_type string的 str.size() 返回值是一个unsigned,实际上返回的是size_type类型的值。 string类和其他的大多数标准库类型都定义了几套配套类型。这些类型体现了标准库与机器无关的特性。string::size_type是一个无符号的类型, 阅读全文
posted @ 2017-08-27 09:31 Quintinz 阅读(613) 评论(0) 推荐(0)
摘要:2.1 基本内置类型 2.1.1 算术类型 算术类型包括两类:整型和浮点型 2.2 变量 2.3 复合类型 2.4 const限定符 2.5 处理类型 2.6 自定义数据结构 阅读全文
posted @ 2017-08-22 08:33 Quintinz 阅读(129) 评论(0) 推荐(0)
摘要:1.2 初始输入输出 iostream库里面包含两个基础类型istream和ostream,分别表示输入流和输出流,一个流就是一个字符序列,从IO设备读出或者写入IO设备。 标准的输入输出对象 标准库定义了4个IO对象。 cin --标准输入 cout --标准输出 cerr --用来输出警告和错误 阅读全文
posted @ 2017-08-22 08:14 Quintinz 阅读(163) 评论(0) 推荐(0)
摘要:1.float类型只能表示数字里面的前6位或者前7位。也就是说c++只能保证float类型的数字的前6位是正确的。如果要求的精度更高的话,请使用double和long double。 float精度是2^23,能保证6位小数内精确。double精度是2^52,能保证15位小数内精确。 但是,在通常使 阅读全文
posted @ 2017-08-20 21:10 Quintinz 阅读(149) 评论(0) 推荐(0)
摘要:1.float类型只能表示数字里面的前6位或者前7位。也就是说c++只能保证float类型的数字的前6位是正确的。如果要求的精度更高的话,请使用double和long double。 float精度是2^23,能保证6位小数内精确。double精度是2^52,能保证15位小数内精确。 但是,在通常使 阅读全文
posted @ 2017-08-20 21:10 Quintinz 阅读(149) 评论(0) 推荐(0)