offergogo
offergogo
全部文章
C++
C语言(1)
linux(18)
python(1)
剑指offer(2)
未归档(88)
机器学习(1)
深度学习(1)
设计模式(1)
归档
标签
去牛客网
登录
/
注册
offergogo的博客
全部文章
/ C++
(共42篇)
剑指offer:整数中1出现的次数(从1到n整数中1出现的次数)
题目:求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n...
2019-05-10
0
402
剑指offer:连续子数组的最大和
题目:连续子数组的最大和。HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2...
2019-05-10
0
401
剑指offer:输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。
题目:输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。 分析: 方法(1):排序(升序),找前k个数据 vector<int> GetLeastNumbers_Solution(vector<int&...
2019-05-10
0
384
剑指offer:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。
题目:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。 分析:如果有符合条件的数字,则它出现的次数比其他所有数字出现的次数和还要多。在遍...
2019-05-10
0
356
剑指offer:输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。
题目:输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) 分析: 分为三步走:(1)给原来的链表的每个结点复制一个新节点并且插入到对...
2019-05-10
0
633
剑指offer:从上往下打印出二叉树的每个节点,同层节点从左至右打印。
题目:从上往下打印出二叉树的每个节点,同层节点从左至右打印。 分析:借助一个队列,先将根结点的指针入队列,出来时访问它,然后将它的左右孩子带到队列中(这也是队列中放的是结点的指针原因,因为要通过它找到左右孩子),然后只要队不空,就访问队头结点,带左右孩子。。。直到队为空,说明所有元素访问完了。 ...
2019-05-10
0
439
剑指offer:定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))
题目:定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 分析:使用双栈实现。一个数据栈data,一个最小栈min.数据栈存正常入栈的元素,最小栈永远存数据栈中当前最小值。具体是依靠以下规则来实现的。入栈时无论如何先给数据栈入栈,而此时看入栈的元...
2019-05-07
0
573
剑指offer:合并单链表
题目:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则 分析:先找两个链表中第一个元素较小的结点做新链表的头,然后依次比较两个链表的元素,将小的尾插在新链表中(为了尾插方便,这里使用了尾指针标记新链表的尾),只要有一个结束了,就将另一个(即还有剩余元素的链...
2019-05-07
0
442
剑指offer:输入一个链表,输出该链表中倒数第k个结点。
题目:输入一个链表,输出该链表中倒数第k个结点。 分析:快慢指针法。快慢指针一开始都指向第一个节点,先让快指针走k步,然后快慢指针一起走,当快指针走到空时,慢指针走到倒数第k个节点。 ListNode* FindKthToTail(ListNode* pListHead, unsigned i...
2019-05-07
0
345
剑指offer:调整数组顺序使奇数位于偶数前面
题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 分析:不能前后指针法,前面的指针找到偶数停下来,后面的指针找到奇数停下来,然后对应元素交换,因为这样会改变奇偶数的相对位置...
2019-05-07
0
566
首页
上一页
1
2
3
4
5
下一页
末页