算法
文章平均质量分 75
飞雪妹妹
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
leetcode面试题07:重建二叉树
题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。范围:0 <= 节点个数 <= 5000样例输入:前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 ...原创 2020-05-03 07:14:08 · 249 阅读 · 0 评论 -
二分查找
前提:有序数组时间复杂度:log2n (每次分一半,所以对N求以2为底的对数就是时间复杂度)注意一点:向右找left = mid+1;向左找right = mid-1;先举个简单例子:int a[]={1,2,3,4,5,6,7,8,9,10} 查找11.然后我们按步骤来,来看看都会有哪些情况:范围:left:左边第一个下标,right:右边最后一个下标中间数下标:(left+ri...原创 2018-11-18 13:26:54 · 181 阅读 · 0 评论 -
快速排序
快排思想:快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。(采用了分治思想)**时间复杂度:假若要求从小到大,并且选取key为中间值最好也就是顺序:O(nlogn)最坏...原创 2018-12-04 17:25:15 · 196 阅读 · 0 评论 -
Leetcode:无重复字符的最长子串
下面说一下我的思路:第一种:暴力法,就是写两层for循环,外层负责次数,内层负责向后查找。耗时:316ms排名:3.47%举个例子:“abcabcbb”定义:我们定义ss表示子字符串,s为题目给的字符串,i为外层循环计数,j为内层循环计数,ch为当前需要判断的字符。我们的意愿是这样的:ss始终为s的不重复子串,i表示在s的字符下标进行遍历,并以该位置为字串ss的第一个元素,然后开始内...原创 2018-12-10 13:24:15 · 196 阅读 · 0 评论 -
Leetcode:LRU缓存机制
LRU(least recently used)最后思路:使用了linkedhashMap这个数据结构,它本身可以按访问顺序排序并且将刚刚访问过的数据放在尾部。class LRUCache { private int mCapacity; LinkedHashMap linkedHashMap; public LRUCache(int capacity) { ...原创 2018-12-11 11:56:41 · 491 阅读 · 0 评论 -
Leetcode:不同的二叉搜索树 II
题目描述:给定一个整数 n,生成所有由 1 … n 为节点所组成的二叉搜索树。示例:输入: 3输出:[[1,null,3,2],[3,2,null,1],[3,1,null,null,2],[2,1,3],[1,null,2,null,3]]解释:以上的输出对应以下 5 种不同结构的二叉搜索树:1 3 3 2 1\ ...原创 2018-12-17 17:24:37 · 266 阅读 · 0 评论 -
Leetcode440:字典序的第K小数字
给定整数 n 和 k,找到 1 到 n 中字典序第 k 小的数字。注意:1 ≤ k ≤ n ≤ 109。示例 :输入:n: 13 k: 2输出:10解释:字典序的排列是 [1, 10, 11, 12, 13, 2, 3, 4, 5, 6, 7, 8, 9],所以第二小的数字是 10。这个题我没有提交成功,但是本地IDE是正确的,原因是我用了static变量,我看了网上说由于l...原创 2018-12-30 17:24:30 · 1505 阅读 · 0 评论
分享