
算法
leetcode和剑指offer
FrankJT
这个作者很懒,什么都没留下…
展开
-
链表经典算法题
定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。原创 2020-10-03 16:30:17 · 1866 阅读 · 0 评论 -
算法大总结之----10大经典排序算法(从小到大排列)
1. 冒泡排序冒泡排序,顾名思义,就是出头的被排序。其算法复杂度为O(n2n^{2}n2),空间复杂度为O(111)。1.1. 算法讲解将第j个元素和后面的元素依次对比,如果大于序列为j+1的元素,就进行交换。作为对比的基础元素j取值范围为"0 => size - 2"。因为j + 1不可超过size - 1。因而,需要进行对比的j有size - 1个,这个组别用字母i表示。当排...原创 2020-05-02 10:06:05 · 10452 阅读 · 0 评论 -
剑指offer: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。
后序遍历就是,最后一个节点是根节点,前面的序列可以分为两个序列,一个是左,一个是右,左序列节点值小于根节点的值,右序列节点值大于根节点值。当然,对某非叶一节点,也可没有左或右子树。class Solution {public: bool VerifySquenceOfBST(vector<int> sequence) { if (sequence.empty()) ...原创 2019-11-10 17:06:21 · 236 阅读 · 0 评论 -
剑指offer 变态跳台阶
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。class Solution {public: int jumpFloorII(int number) { if (number <= 0) return 0; if (number == 1) ...原创 2019-09-21 09:13:33 · 109 阅读 · 0 评论 -
剑指offer,用两个栈实现队列
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。class Solution{public: void push(int node) { stack1.push(node); } int pop() { while(!stack1.empty()) { s...原创 2019-09-12 10:01:39 · 107 阅读 · 0 评论