摘要:
使用移位运算来避免乘法运算是一种常用技巧,不过乘数必须都是正整数,而且必须至少有一个是 2 的 n 次方,例如:2,4,8,16,32……移位运算的特点是速度快,而乘法运算速度较慢,把乘法运算转化为移位运算可以稍微提高程序运行效率。例如: num *= 32; 等同于 num <<= 5; /* 2 的 5 次方等于 32 */如果乘数不是 2 的 n 次方,我们可以把乘数分解成几个 2 的 n 次方的和: num *= 20; 等于 num *= (16 + 4); 等于 num = num * 16 + num * 4; 等于 num = (num << 4) + 阅读全文
摘要:
动手去做,不管这件事情有多么不起眼;热爱编程,将她作为生活的一部分;动手前思考,要做什么实现什么功能,输入是什么输出是什么,定义好接口;疲惫时候不要编程,那都是垃圾;花时间学习新知识,知识是有复利的;向他人解释表达你所遇到的问题,你写的代码,或许说着说着,问题就出现了,甚至就解决了;专心做几个小时;好的程序员需好好掌握英语,即使一个变量名,取得好都可以帮助人阅读理解程序;人际关系;为什么很多牛人都不喜欢C++?代码阅读以及推倒重来;多做,做得比别人安排的要多;多学习一门语言,换个思维思考;信任是一部分,相信和你共事的人;另一点就是信心。目标清晰明确,就容易对它抱有信心。我认为焦虑和不安全感容易 阅读全文
摘要:
即使是bug,当时令人印象深刻的bug也是会被忘记的趁着稍还有些印象记录下棒材匹配过程中碰到的一些问题首先是对旧代码的阅读,由于其年代久远能够正常运行但是写得比较混乱因此阅读非常之枯燥困难,同时里面不同情况下有过多重复代码,主要表现在数据结构以及具体实现方法上有比较大的漏洞,因此将问题复杂化了。但是算法的思想是袮久可靠的,因此根据大致的算法自己脑海有一些思路,再由师兄设计的数据结构,使用vector来存储不需要进行增删的信息,使用list来存储需要进行插入删除更新的总信息,从这里也算是意识到,数据结构不是用来学学了解知道就好,而是在实际应用中要体现其价值,比如这里,使用这样的数据结构就是有师兄 阅读全文