摘要:
题目描述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、x、/ 四则运算符号。题目分析剑指Offer(纪念版)P237代码实现int Add(int num1, int num2){ int sum, carry; do { sum = num1 ^ num... 阅读全文
摘要:
题目描述0,1,…,n-1这n个数字排成一个圆圈,从数字0开始每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。题目分析剑指Offer(纪念版)P229约瑟夫(Josephuse)环问题我们使用模板库中的双向链表std:list来模拟一个环形链表。PS:向量vector 线性顺... 阅读全文
摘要:
题目描述从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大小王可以看成任意数字。题目分析剑指Offer(纪念版)P227代码实现bool IsContinuous(int* numbers, int length){ ... 阅读全文
摘要:
题目描述字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如输入字符串"abcdefg"和数字2,该函数将返回左旋转2位得到的结果"cdefgab"。题目分析剑指Offer(纪念版)P220代码实现void Reverse(char *pBe... 阅读全文
摘要:
题目描述输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student.",则输出"student. a am I"。题目分析剑指Offer(纪念版)P218两次翻转字符串代码实现void Reverse(char... 阅读全文
摘要:
题目描述输入一个正数s,打印出所有和为s的连续正数序列(至少含有两个数)。例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以结果打印出3个连续序列1~5、4~6和7~8。题目分析剑指Offer(纪念版)P216代码实现void FindContinuousSequence(int ... 阅读全文
摘要:
题目描述输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,输出任意一对即可。题目分析剑指Offer(纪念版)P214快速排序的思想代码实现bool FindNumbersWithSum(int data[], int length, int su... 阅读全文