解决算法题的思路汇总
1. 熟悉你所掌握的编程语言。比如我用java,那么需要熟练掌握java的语言细节。
在遇到这样一个题,给定一个包含n个整数的数组,除了一个整数以外,其余的数都是成对出现,请找出这个数(复杂度O(n),不能使用额外存储空间)。比如[1,2,2],那么结果就是1。
我刚开始遇到这个题的时候完全没有想到可以用异或来解决。如果是才开始接触算法的话,是真的想破脑袋都想不出解决方案。
所以遇到问题先从语言层面入手。看看语法细节,是否能给解决题目带来灵感。
1. 熟悉你所掌握的编程语言。比如我用java,那么需要熟练掌握java的语言细节。
在遇到这样一个题,给定一个包含n个整数的数组,除了一个整数以外,其余的数都是成对出现,请找出这个数(复杂度O(n),不能使用额外存储空间)。比如[1,2,2],那么结果就是1。
我刚开始遇到这个题的时候完全没有想到可以用异或来解决。如果是才开始接触算法的话,是真的想破脑袋都想不出解决方案。
所以遇到问题先从语言层面入手。看看语法细节,是否能给解决题目带来灵感。