
算法
`Nobody
小菜鸡
展开
-
算法练习----链表中倒数第k个节点
题目:输入一个链表,输出该链表中倒数第k个结点。解题思路:寻找到整个链表的长度Length, 那么倒数第k个节点就是正数第Length-k个节点。解题代码:ListNode * Solution::FindKthToTail(ListNode * pListHead, unsigned int k){ if (pListHead == NULL || pListHead->next == NULL || k <= 0) { return NULL; ..原创 2020-05-13 00:09:23 · 127 阅读 · 0 评论 -
算法练习----单链表反转
题目: 输入一个链表,反转链表后,输出新链表的表头。解题思路:反转一个单链表,其实就是将指针域反指向前一个节点就好了,问题就是如何保存所有节点信息,所以这个时候就可以用栈来保存,使用栈还有一个好处就是,栈顶永远是最后一个节点。解题代码:ListNode * Solution::ReverseList(ListNode * pHead){ if (pHead == NULL || pHead->next == NULL) { return pHead; } Li..原创 2020-05-11 14:21:43 · 168 阅读 · 0 评论 -
算法练习----变态青蛙跳台阶
题目: 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。、解题思路: 这次的题目是青蛙跳台阶的升级版,但是也是有规律可循的。 1 2 3 4 5 6 ... n 跳法 1 2 4 8 16 32 ... 2^(n-1) 这题目也和青蛙跳台阶一样,找到规律即可。 f(n) = 2^(n-1)...原创 2020-05-10 11:50:00 · 264 阅读 · 1 评论 -
算法练习----青蛙跳台阶
题目: 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。解题思路: 看过有网上有特解的方法,但是我感觉不合适,因为想解法应该是找到普遍的规律才应该算是中规中矩。当不知道解题思路的就可以先将前几次,比如说有 1,2,3,4,5级台阶的跳法算出来,比较简单还是可以手算的,就应该发现规律了。 1 2 3 4 5 6 ... n 跳法 1 2 ...原创 2020-05-10 11:33:51 · 318 阅读 · 0 评论 -
算法练习----两个栈来实现一个队列
题目:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。思路介绍:用两个栈实现一个队列,其实就是压栈的时候,将所有数压入一个栈中,当Pop的时候,先判断第二个栈区是否为空,如果不为空,则直接将第二个栈中数Pop ,如果为空,就把第一个栈顶的数压入第二个栈中,直到第一个栈区内无数据,然后再Pop第二个栈区的数据即可。解题代码:stac...原创 2020-05-07 17:56:36 · 164 阅读 · 0 评论 -
算法练习----寻找最大回文子串
题目: 寻找一个字符串中最大回文子串的长度。解题思路: 在我看了Asm竞赛题的答案后,发现有点难懂,所以自己开发了一个算法,并没有经过大规模数据测试,不能保证100%的通过率。比如一个字符串为"12343215",这个时候我就以字符串的长度建立一个二维数组,而且列和行是一样长的。如下 1 2 3 4 3 2 1 5...原创 2020-05-08 16:37:51 · 227 阅读 · 1 评论 -
算法练习----二维数组排序、查找
题目:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。思路介绍:其实这都题很简单,就是将二维数组排序,将每一行和每一列都进行排序,进行二次排序,形成一个有序的二维数组,然后遍历二维数组查找目标数字即可。解题代码:bool Soluti...原创 2020-05-06 15:08:28 · 336 阅读 · 0 评论 -
算法练习----栈的压入、弹出序列
题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)思路介绍:有两个数列,比如压入栈的顺序是:1,2,3,4,5 ;有一个弹出...原创 2020-05-05 17:44:01 · 189 阅读 · 0 评论