题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。思路:这道题的简单版本是除了一个数字之外,其他数字都出现了两次,这个很简单,将所有的数异或一遍就得到了那个数字。如果不考虑空间复杂度的话,通过hash表统计的方法可以得到这两个数字;但如果空间复杂度要求...
                            
                            
                                分类:
编程语言   时间:
2015-07-26 22:16:34   
                                阅读次数:
169
                             
                    
                        
                            
                            
                                一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。思路:自己对知识使用的灵活性不够...如果只有一个只出现一次的数字直接异或就可以了,但两个怎么办呢?后来看得答案:先异或一遍最后的数字是这两个不一样的数字异或的结果。那么这个异或数字为1的位一定是这两个数字不...
                            
                            
                                分类:
编程语言   时间:
2015-07-24 12:45:00   
                                阅读次数:
132
                             
                    
                        
                            
                            
                                题意:给一个序列,其中只有1个元素只出现1次,其他的都一定出现3次。问这个出现一次的元素是多少?思路:(1)全部元素拆成二进制,那么每个位上的1的个数应该是3的倍数,如果不是3的倍数,则ans的这个位肯定为1。 22ms 1 class Solution { 2 public: 3 int...
                            
                            
                                分类:
其他好文   时间:
2015-07-23 00:20:35   
                                阅读次数:
178
                             
                    
                        
                            
                            
                                称号:除了外面两个数字为整数数组。其他人物都出现两次。请敲代码,找了两个数字只出现一次。它需要的时间复杂度O(n),空间复杂度是O(1)。或深足够的认识。 要思路还是之前的数组中仅仅出现一次的数字的那种模式,一次遍历加上异或运算。那么这个异或的值肯定是这两个仅仅出现一次的数字的相异或...
                            
                            
                                分类:
编程语言   时间:
2015-07-22 14:34:36   
                                阅读次数:
116
                             
                    
                        
                            
                            
                                一开始题目读错了,还以为可以从任意点为起点向上向下吃。
其实是只能从右边的边界为起点吃。
于是很明显,每一个横坐标最多只能出现一次,否则肯定是当前这个起点的巧克力已经被啃食了。
想到这里就更明显了,对于(xi,n+1-xi),若是向上吃,能够影响它的操作(xj,n+1-xj)肯定满足xj>xi,然后又明显一点,最小的xj肯定能影响到它。
我们来考虑操作(xj,n+1-xj),
若它是往左...
                            
                            
                                分类:
其他好文   时间:
2015-07-19 21:43:05   
                                阅读次数:
438
                             
                    
                        
                            
                            
                                这个题目的思想是,书上说,由于题目中说了是其它的数字有两个,而这两个数字只有一个,于是知:异或(不知道你有没有想到)。解题的思路是: 先对数组中所有数字进行一次异或 int bitXORResult=0; for(int i=0;i>1; }	return shiftCount; }找到bitXOR...
                            
                            
                                分类:
编程语言   时间:
2015-07-17 20:36:23   
                                阅读次数:
163
                             
                    
                        
                            
                            
                                leetcode算法题目:4 sum。解题技巧这道题和另外一道题3 Sum很类似,但这道题是在数组中寻找四个数,使得其和为0,同时要求这三个数只能出现一次。....
                            
                            
                                分类:
其他好文   时间:
2015-07-17 18:53:27   
                                阅读次数:
111
                             
                    
                        
                            
                            
                                问题描述: 
找出字符串中所以最长连续重复子串及其个数 
比如: 
输入:123234,最大连续重复字符串为23,个数为2 
输入:5555,最大连续重复字符串为555,个数为2 
输入:aaabbb 最大连续重复字符串为aa,个数为2;和bb,个数为2 
必须存在重复的字符串才算,只出现一次的不算。可能存在多个相同长度的不同字符串,比如aaabbb。解题思路与[求一个字符串中连续出现次数最多的子串...
                            
                            
                                分类:
其他好文   时间:
2015-07-15 11:14:13   
                                阅读次数:
122
                             
                    
                        
                            
                            
                                题目大意:给出n个字符串,每个字符串由大写字母组成(每个字母最多出现一次),问说找出尽量多的字符串,使得这些字符串中任意字母出现的次数均为偶数。解题思路:中间相遇法,首先如果对于一个字符串用一个二进制数来表示的话,对应选出若干个字符串既可以用这些二进制数取亦或所得到的数来表示,如果为0即为满足。中间相遇法即将n差分成两部分来枚举,当两个状态相同的话,相亦或肯定为0. 。#include <cstdi...
                            
                            
                                分类:
其他好文   时间:
2015-07-14 11:37:44   
                                阅读次数:
110
                             
                    
                        
                            
                            
                                题意:输入一个n,表示在n*n的矩阵中填1~n,使每行每列以及所有正对角线所有反对角线均出现1~n一次。若存在,输出Yes和矩阵,否则输出No;思路:比赛的时候没思路。将1~n换为0~n较好处理一些。先只考虑0的位置,每行将0向一个方向移动固定格子数,枚举所需的移动步数, 若满足条件(无同行同...
                            
                            
                                分类:
其他好文   时间:
2015-07-13 21:58:25   
                                阅读次数:
137