剑指offer
文章平均质量分 80
北冥有鲫鱼
行动了,就不晚
展开
-
求二进制中1的个数
这道题在《编程之美》和《剑指offer》上都有,本文加以整理。(以32位为例) 首先,都知道用n&(n-1)把整数n最右边的1变为0,于是就有个“目前”个人认为最好的方法 int Count(int n) { int num =0; while(n) { n &= (n-1);//将整数最右边的1变为0,有多少1就做多少次这种操作。 num++; } return num原创 2014-07-09 20:26:42 · 394 阅读 · 0 评论 -
[剑指offer]面试题41:和为s的两个数字,和为s的连续正数序列
/************************************************************************************* **在排序数组中找和为s的两个数字,输出任意一组*********************************** **方法:设置首位两个指针,将其指向的值相加的和与sum比较,根据情况移动指针 *************原创 2014-08-31 21:24:52 · 312 阅读 · 0 评论 -
[剑指offer]面试题40:数组中只出现一次的数字
/*题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。 **找出这两个数字。要求:时间复杂度是O(n),空间复杂度是O(1)******* **********************************************************************/ void FindNumAppearOnce(int data[], int length, int*原创 2014-08-31 22:05:29 · 265 阅读 · 0 评论 -
[剑指offer]面试题37:两个链表的第一个公共结点
/************************************************************************ **题目:输入两个链表,找出它们的第一个公共结点。 方法:在较长的链表上先走几步,再同时遍历找公共结点 *************************************************************************原创 2014-08-31 23:33:34 · 297 阅读 · 0 评论 -
[剑指offer]面试题42:翻转单词顺序,左旋转字符串
/*********************************************************************************** **题目一:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。 **标点符号和普通字母一样处理。 **例如输入字符串"I am a student.",则输出"student. a am I"。 **********原创 2014-09-01 11:11:49 · 371 阅读 · 0 评论 -
[剑指offer]面试题34:丑数
int Min(int number1, int number2, int number3); int GetUglyNumber_Solution2(int index) { if(index <= 0) return 0; int *pUglyNumbers = new int[index]; pUglyNumbers[0] = 1; in原创 2014-08-31 23:45:51 · 314 阅读 · 0 评论