一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。思路我们直到异或的性质:任何一个数字异或他自己都等于0.
所以说我们如果从头到尾依次异或每一个数字,那么最终的结果刚好只出现一次的数字,因为成对出现的两次的数字全部在异或中抵消了。这道题中有两个数字只出现一次。这样的话我们得到的结果就是这两个数字的异或结果。因此我们想办法把原数组分成两个子数组,使得每个子...
分类:
编程语言 时间:
2015-04-26 19:47:36
阅读次数:
120
题目:
实现一个函数,输入一个整数,输出该数二进制表示中1的个数。如9的二进制是1001,因此输入9输出2。
解法一:可能死循环
int num1(int n)
{
int count =0;
while(n)
{
if(n&1) count++;
n=n>>1;
}
return count;...
分类:
其他好文 时间:
2015-04-24 12:33:52
阅读次数:
115
用栈能很easy的解决,直接贴代码:
struct ListNode{
int m_nValue;
ListNode *m_pNext;
};
void PrintListRevers(ListNode* pHead)
{
stack nodes;
ListNode* pNode = pHead;
while(pNode != NULL)
{
...
分类:
其他好文 时间:
2015-04-24 01:08:40
阅读次数:
110
题目:
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。
例如数组(3,4,5,1,2)位{1,2,3,4,5}的一个旋转,该数组的最小值为1.
基本思想:
二分查找,p1指向a[0],p2指向a[len-1]。如果a[mid]>a[p1],则最小值在后半段,p1=mid;如果a[mid]
特殊情况:
...
分类:
编程语言 时间:
2015-04-23 17:27:23
阅读次数:
123
题目:
实现一个函数,把字符串中的每个空格替换成“%20”。加入输入“we are happy.”,则输出“we%20are%20happy.”。
时间复杂度为O(n^2)
基本思想:从前往后把字符串中的空格替换成%20.
假设字符串的长度为n,对每个空格字符,需要移动后面O(n)个字符,因此总的时间复杂度为O(n^2)。
时间复杂度为O(n)
基本思想:先遍历...
分类:
其他好文 时间:
2015-04-23 15:52:12
阅读次数:
204
题目:设计一个类,我们只能生成该类的一个实例。
解法一:懒汉式单例
1.适用于单线程环境
//懒汉式单例类.在第一次调用的时候实例化自己
public class Singleton {
//私有的默认构造子
private Singleton() {}
//注意,这里没有final...
分类:
其他好文 时间:
2015-04-23 13:35:20
阅读次数:
1228
题目:
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
基本思想:
首先选取数组中右上角的数字。如果=要找的数字,结束。如果大于要找的数字,剔除这个数字所在的列;如果小于要找的数字,剔除这个数字所在的行。
#include
using namespace...
分类:
编程语言 时间:
2015-04-23 13:29:32
阅读次数:
141
请实现一个函数,把字符串中每个空格替换成“%20”。例如输入“we are happy.",则输出”we%20are%20happy.“。
创建一个新的字符串,传出,是一个比较好的思路。
#include
#include
using namespace std;
int change(char *str, char *out)
{
int i=0,j=0;
char *temp...
分类:
其他好文 时间:
2015-04-22 20:42:52
阅读次数:
125
题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
例如下面的二维数组就是每行、每列都递增排序。如果在这个数组中查找数字7,则返回true;如果查找数字5,由于数组不含有该数字,则返false。
1 2 8 9
2 4 9 12
4 7 ...
分类:
编程语言 时间:
2015-04-22 14:01:09
阅读次数:
135
题目:如下为类型CMyString的声明,请为该类型添加赋值运算符函数。
class CMyString
{
public:
CMyString(char* pData = NULL);
CMyString(const CMyString& str);
~CMyString(void);
CMyString& operator = (const CMyString...
分类:
其他好文 时间:
2015-04-22 00:43:45
阅读次数:
198