![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
#_
这个作者很懒,什么都没留下…
展开
-
Leetcode心得
1 n数之和 15. 16. 18. 排序+双指针 2 合并K个排序链表 23. 1.在k个数中取最小,用优先队列 2.还可以使用分治算法 3数组双指针 26. 27.原创 2019-12-10 14:26:59 · 71 阅读 · 0 评论 -
排序算法2
https://www.jianshu.com/p/916b15eae350 应用场景 (1)若n较小(如n≤50),可采用直接插入或直接选择排序。 当记录规模较小时,直接插入排序较好;否则因为直接选择移动的记录数少于直接插人,应选直接选择排序为宜。 (2)若文件初始状态基本有序(指正序),则应选用直接插人、冒泡或随机的快速排序为宜; (3)若n较大,则应采用时间复杂度为O(nlgn)的...原创 2019-07-24 11:08:23 · 114 阅读 · 0 评论 -
数据流中的中位数
剑指offer41原创 2019-05-31 09:10:33 · 70 阅读 · 0 评论 -
排序算法
目录 1插入排序 1.1直接插入排序 1.2希尔排序 2交换排序 2.1冒泡排序 2.2快速排序 3选择排序 3.1直接选择排序 3.2堆排序 4归并排序 5总结 1插入排序 1.1直接插入排序 平均来说插入排序算法复杂度为。因而,插入排序不适合对于数据量比较大的排序应用。但是,如果需要排序的数据量很小,例如,量级小于千;或者若已知输入元素大致上按照顺序排列,那么插入排...原创 2019-05-22 10:25:45 · 107 阅读 · 0 评论 -
LCA(最近公共祖先)问题
236. 二叉树的最近公共祖先 public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) { // LCA 问题 if (root == null) { return root; } if (root == p ...原创 2019-05-25 21:36:14 · 85 阅读 · 0 评论 -
难题
1.124. 二叉树中的最大路径和 2.剑指offer:59 滑动窗口https://blog.csdn.net/qq_38765867/article/details/84197314 队列最大值 3.剑指offer51:数组中的逆序对原创 2019-05-21 11:58:17 · 87 阅读 · 0 评论 -
动态规划
62. 不同路径 一个机器人位于一个m x n网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。 问总共有多少条不同的路径? class Solution { public int uniquePaths(int m, int n) { int[][] d...原创 2019-05-20 15:37:55 · 65 阅读 · 0 评论 -
技巧
旋转链表:快慢指针 最大子序和、买卖股票。设置一个指针,如果当前项之前的数据和是负,移动指针至当前位置。原创 2019-05-20 14:44:34 · 71 阅读 · 0 评论 -
回溯法
LeetCode:46. 全排列 class Solution { public void backtrack(int n, ArrayList<Integer> nums, List<List<Integer>> output, ...原创 2019-05-20 09:49:52 · 126 阅读 · 0 评论 -
分治算法
leetcode:23. 合并K个排序链表 合并k个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 示例: 输入: [ 1->4->5, 1->3->4, 2->6 ] 输出: 1->1->2->3->4->4->5->6 /** * Definition for singly-li...原创 2019-05-19 11:19:14 · 67 阅读 · 0 评论