剑指offer
文章平均质量分 70
剑指offer【名企面试官精讲典型编程题】
herongweiV
喜爱编程,热爱算法。
展开
-
【剑指offer之旋转数组的最小值】
【题目描述】把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。【思路】最直观解法并不难,从头到尾遍历数组一次,我们就能找出最小的元素。这种思路的时间复杂度显然是O(n原创 2017-06-02 17:51:56 · 815 阅读 · 0 评论 -
【剑指offer+扑克牌顺子+数学建模+模拟】
【题目链接】:http://ac.jobdu.com/problem.php?pid=1355【题目描述】:题目1355:扑克牌顺子时间限制:2 秒内存限制:32 兆特殊判题:否提交:1806解决:530题目描述:LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^原创 2017-06-01 19:51:45 · 1258 阅读 · 0 评论 -
【剑指offer之二进制中1的个数】
【题目描述】:请实现一个函数,输入一个整数,输出该数二进制表示中1的个数。【思路1】可能引起死循环的解法这是一道很基本的考查二进制和位运算的面试题。题目不是很难,面试官提出问题之后,我们很快就能形成一个基本的思路:先判断整数二进制表示中最右边一位是不是1.接着把输入的整数右移一位,此时原来处于从右边数起的第二位被移到最右边了,在判断是否为1.这样每次移动一位,直到整个整数变成0为止。问原创 2017-06-01 17:58:30 · 769 阅读 · 0 评论 -
【剑指offer之和为s的两个数字VS和为s的连续正数序列】
【题目一】:输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,输出任意一对即可。例如输入数组{1,2,4,7,11,15}和数字15.由于4+11 = 15,因此输出4和11。【技能get &&思路】: 【代码】:#include using namespace std;原创 2017-05-18 21:37:14 · 913 阅读 · 0 评论 -
【剑指offer之二维数组中的查找 】
【描述】:题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。【测试】:样例输入231 3 52 4 76 8 93171021 11 111样例输出1 12 3-11原创 2017-05-10 21:31:07 · 1025 阅读 · 0 评论 -
【常见面试题总结之C++中sizeof问题】
归纳一些常见面试题,C++中sizeof是经常被问到的一个概念,比如,下面的几个关于sizeof的面试题反复出现在各大IT公司的技术面试当中,我们有必要完全理解并掌握。【HR】:定义一个空的类型,里面没有任何成员变量和成员函数,对该类型求sizeof得到结果是多少?【acmer】:答案是1。【HR】:为什么不是0?【acmer】:空类型的实例中不包括任何信息,本来求sizeof原创 2017-04-26 19:40:30 · 1654 阅读 · 1 评论 -
【剑指offer之圆圈中最后剩下的数】
【题目链接】:http://ac.jobdu.com/problem.php?pid=1356【题目描述】:题目:n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始,每次从这个圆圈中删除第m个数字(第一个为当前数字本身,第二个为当前数字的下一个数字)。当一个数字删除后,从被删除数字的下一个继续删除第m个数字。求出在这个圆圈中剩下的最后一个数字。【思路】分析:本题就是有原创 2017-04-29 23:14:38 · 842 阅读 · 0 评论 -
【剑指offer之最大子向量和(连续子数组的最大和)】
【题目链接】:click here~~ 【题目描述】:题目1372:最大子向量和(连续子数组的最大和)时间限制:1 秒内存限制:32 兆特殊判题:否提交:2987解决:784题目描述:HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天JOBDU测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计原创 2017-04-26 23:20:33 · 825 阅读 · 0 评论 -
【剑指offer之数字在排序数组中出现的次数】
【题目链接】:click here~~ 【题目描述】:题目描述:统计一个数字在排序数组中出现的次数。输入:每个测试案例包括两行:第一行有1个整数n,表示数组的大小。1第二行有n个整数,表示数组元素,每个元素均为int。第三行有1个整数m,表示接下来有m次查询。1下面有m行,每行有一个整数k,表示要查询的数。输出:对应每个测试案例,有m行输出,原创 2017-04-26 20:20:00 · 667 阅读 · 0 评论 -
【剑指offer之数组中出现次数超过一半的数字 】
【题目链接】:http://ac.jobdu.com/problem.php?pid=1370 【题目描述】: 题目1370:数组中出现次数超过一半的数字 时间限制:1 秒内存限制:32 兆特殊判题:否提交:3981解决:1146 题目描述: 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组原创 2017-04-26 19:58:43 · 642 阅读 · 0 评论 -
【剑指offer之数组中只出现一次的数字】
【链接】:http://ac.jobdu.com/problem.php?pid=1351 【题目】: 题目1351:数组中只出现一次的数字 时间限制:1 秒内存限制:32 兆特殊判题:否提交:3381解决:979 题目描述: 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。 输入: 每个测试案例包括两行: 第一行包含一个整数n,表示数组大原创 2017-04-25 23:24:05 · 743 阅读 · 0 评论 -
【剑指offer之反转链表】九度OJ-1518-反转链表
【题目链接】:九度OJ-1518-反转链表 【题目描述】: 输入一个链表,反转链表后,输出链表的所有元素。 (hint : 请务必使用链表) 输入: 输入可能包含多个测试样例,输入以EOF结束。 对于每个测试案例,输入的第一行为一个整数n(0<=n<=1000):代表将要输入的链表的个数。 输入的第二行包含n个整数t(0<=t<=1000000):代表链表元素。 输出: 对应每个测原创 2017-04-15 21:36:53 · 409 阅读 · 0 评论 -
【剑指offer之求1+2+...+n】九度OJ-1506-求1+2+3+...+n
【题目链接】:九度OJ-1506-求1+2+3+…+n 【题目描述】: 题目 1506:求1+2+3+…+n 时间限制:1 秒内存限制:128 兆特殊判题:否提交:1857解决:1060 题目描述: 求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 输入: 输入可能包含多个测试样例。 对于每个测原创 2017-04-16 11:54:03 · 569 阅读 · 0 评论 -
【剑指offer之题目1510:替换空格 】九度OJ-1510-替换空格
【链接】:九度OJ-1510-替换空格 【题目】: 题目1510:替换空格 时间限制:1 秒内存限制:128 兆特殊判题:否提交:11482解决:2934 题目描述: 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 输入: 每个输入文件仅包含一组测试样例。 对于每组测试案例,输原创 2017-04-16 20:53:59 · 517 阅读 · 0 评论