摘要:
两道题目,1、有一堆的数,其中所以的数都出现了两次,只有一个出现了一次,找出那个只出现一次的数。 2、有一堆的数,其中所以的数都出现了三次,只有一个出现了一次,找出那个只出现一次的数。 对于这种题目,我们可能首先想到是排序。当然,排序可以解决问题,但是排序的复杂度实在是太高了,至少也得O(nlogn)吧。 那么有没有什么方式可以使得其复杂度下降呢? 对于第一道题,我们可能会想到很多种方式,最简单的就是异或运算了,最终得到的结果肯定是只出现一次的那个数。 那么对于第二道题,我们应该怎么解呢?我想了很久,好像只能通过排序来解。因为似乎第一道题的方法都不... 阅读全文
摘要:
这里我们谈论的是句子单词的逆转。比如you are welcome!翻转成weclome! are you 对于这道题,解题思路可以有很多种,可以以单词为单位,然后交换,比如用you 和weclome!交换,利用两个指针,不断的向后和向前搜索。 但是由于单词的长度的不一致性,即不对称,... 阅读全文
摘要:
我们经常会遇到一种情况是匹配两个字符串,看strPar中是否含有str子串,如果有则返回子串在父串strPar中的位置,如果不存在则返回false. 很明显,我们可以通过暴力求解的方式解决该问题。即从strPar第一个字符和子串进行比较,若成功则返回第一个0,若不成功,再第二个字符开始比较,这样的时 阅读全文