offergogo
offergogo
全部文章
分类
C++(42)
C语言(1)
linux(18)
python(1)
剑指offer(2)
未归档(88)
机器学习(1)
深度学习(1)
设计模式(1)
归档
标签
去牛客网
登录
/
注册
offergogo的博客
全部文章
(共155篇)
剑指offer:顺时针打印矩阵
题目:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10. 分析:顺着走,即向右...
2019-05-07
0
496
剑指offer:合并单链表
题目:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则 分析:先找两个链表中第一个元素较小的结点做新链表的头,然后依次比较两个链表的元素,将小的尾插在新链表中(为了尾插方便,这里使用了尾指针标记新链表的尾),只要有一个结束了,就将另一个(即还有剩余元素的链...
2019-05-07
0
442
剑指offer:输入一个链表,反转链表后,输出新链表的表头
题目:输入一个链表,反转链表后,输出新链表的表头。 分析: 方法(1):更改next指针域法。当没有节点或者只有一个结点时,直接返回这个节点;否则至少有两个节点时,用三个指针n1,n2,n3,n1指向第一个节点,n2指向第二个节点,n3指向第三节点(可能为空),每次修改n2的next让其指向n1...
2019-05-07
0
497
剑指offer:输入一个链表,输出该链表中倒数第k个结点。
题目:输入一个链表,输出该链表中倒数第k个结点。 分析:快慢指针法。快慢指针一开始都指向第一个节点,先让快指针走k步,然后快慢指针一起走,当快指针走到空时,慢指针走到倒数第k个节点。 ListNode* FindKthToTail(ListNode* pListHead, unsigned i...
2019-05-07
0
345
剑指offer:调整数组顺序使奇数位于偶数前面
题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 分析:不能前后指针法,前面的指针找到偶数停下来,后面的指针找到奇数停下来,然后对应元素交换,因为这样会改变奇偶数的相对位置...
2019-05-07
0
566
剑指offer:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
题目:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 分析:只要n不为0就将计数器加1,然后利用公式n=n&(n-1)会每次从最后消掉一个1,消完了n就为0了,不再计数,这可以减少循环次数,否则一个整数要进行32次循环。 int NumberOf1(int n)...
2019-05-07
0
402
剑指offer:我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
题目:我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 分析:这其实是斐波那契数列问题,如下: int rectCover(int number) { //也是斐波那契数列,n==1时1种,n==2时2...
2019-05-07
0
859
剑指offer:输入一个整数n,请你输出斐波那契数列的第n项
题目:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。 n<=39 分析: 方法(1):可以用数组将每个斐波那契数列值存起来 int Fibonacci(int n) { int a[40] = { 0 }; a[0] = 0...
2019-05-07
0
581
剑指offer:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 分析:斐波那契数列问题,但是注意初值 int jumpFloor(int number) { //1级有1种,2级有2种,3级有3种...
跳台阶
2019-05-06
0
503
剑指offer:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。
题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 分析:非减排序...
2019-05-06
0
368
首页
上一页
1
2
3
4
5
6
7
8
9
10
下一页
末页