摘要:
总结:提高程序时间效率的方法之一:以空间开销换时间面试官的痛点在第二层次:1、第一层次,有扎实的基础知识和编程能力,能有相关的分析方法和调试能力,解决问题。2、第二成次,能否更进一步思考,更巧妙和让人眼睛一亮的解决方法,优化时间效率或者空间效率,代码是否写的更加简单高效。这个题目更进一步的思考:在于分析出只要找s2是否是s1s1的字串,用标准库函数 :strstr问题:在linux下成char *src会出现strlen失效,运行的时候出现段错误??#include #include #include #include //提高时间效率的方法之一:采用空间换时间法//为什么写成指针会出现段错误 阅读全文
摘要:
字符处理字符分类函数Ps:返回值int非零数为真。#include 函数声明解释Int isalnum(int c);是否为数字或字母【1..a..A..】Int isalpha(int c);是否为字母【a..A..】Int iscntrl(int c);是否为控制字符【ASCII 0-31】 Int islower(int c); 是否为小写字母【你懂得】 Int issupper(int c); 是否为大写字母【你也懂得】 Int isdigit(int c); 是否为10个十进制数字之一【1..】 Int ... 阅读全文
摘要:
对于一个字节的无符号整形变量,求其二进制数中1的个数,要求算法的执行效率尽量高。解法一:求余法每次将该数字除以2,根据求的的余数判断这个位置是不是1.这样的代码不够简单。解法二:使用位操作实现解法一的算法解法三:使用与操作解法四:穷举法,将0到256这个数的各个位的1的个数存储在一个数组中,调用的时候直接返回这个个数。只需O(1)的时间复杂度。代码如下:#include using namespace std;//全局变量数组int countTable[256]={0, 1, 1, 2, 1, 2, 2,3, 1, 2, 2, 3, 2, 3,3, 4, 1, 2, 2, 3, 2,3, 3 阅读全文