特点: 时间复杂度:O(nlog2n) 堆排序是不稳定的排序算法 原理: 利用大顶堆排序(升序) 利用小顶堆排序(降序) 初始时将待排序数组生成堆结构 将堆顶换到堆尾,并取出...
特点: 时间复杂度:O(nlog2n) 堆排序是不稳定的排序算法 原理: 利用大顶堆排序(升序) 利用小顶堆排序(降序) 初始时将待排序数组生成堆结构 将堆顶换到堆尾,并取出...
特点: 时间复杂度:O(nlog2n) 归并排序是稳定的排序算法 原理:(分治法) 原理类似于合并两条有序链表 分割为多条小的有序队列,通过两两合并最终实现完整序列 代码实现...
给定两个由一些 闭区间 组成的列表,每个区间列表都是成对不相交的,并且已经排序,返回这两个区间列表的交集。示例:输入:A = [[0,2],[5,10],[13,23],[2...
给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,2]输出:[ [2], [...
给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[ [3], [1]...
给定一个可包含重复数字的序列,返回所有不重复的全排列。示例:输入: [1,1,2]输出:[ [1,1,2], [1,2,1], [2,1,1]] 完整代码:
给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在...
给定一个 没有重复 数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1...
给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中...
《剑指offer》刷题笔记。如有更好解法,欢迎留言。 关键字:字符串 题目描述: LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是5...
《剑指offer》刷题笔记。如有更好解法,欢迎留言。 关键字:树 树的深度 平衡二叉树 题目描述: 输入一棵二叉树,判断该二叉树是否是平衡二叉树。 思路: 平衡二叉树的特点是...
《剑指offer》刷题笔记。如有更好解法,欢迎留言。 关键字:栈 链表 题目描述: 输入两个链表,找出它们的第一个公共结点。 思路: 1. 将链表A放入栈stack12. 将...
《剑指offer》刷题笔记。如有更好解法,欢迎留言。 关键字:数组 题目描述: 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,...
《剑指offer》刷题笔记。如有更好解法,欢迎留言。 关键字:树 深度优先遍历 题目描述: 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜...
《剑指offer》刷题笔记。如有更好解法,欢迎留言。 关键字:二叉树 递归 题目描述: 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结...
《剑指offer》刷题笔记。如有更好解法,欢迎留言。 关键字:树 递归 题目描述: 操作给定的二叉树,将其变换为源二叉树的镜像。 思路: 深度优先遍历递归写法,交换左右子树
《剑指offer》刷题笔记。如有更好解法,欢迎留言。 关键字:数组 高级排序 堆 题目描述: 输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个...
《剑指offer》刷题笔记。如有更好解法,欢迎留言。 关键字:字典 字符串 题目描述: 在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的...
《剑指offer》刷题笔记。如有更好解法,欢迎留言。 关键字:字符串 题目描述: 请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"g...
《剑指offer》刷题笔记。如有更好解法,欢迎留言。 关键字:栈 题目描述: 输入一个链表,输出该链表中倒数第k个结点。 思路: 借助栈存放结点 依次入栈 stack[k-1...