码迷,mamicode.com
首页 >  
搜索关键字:空间复杂度    ( 2067个结果
字符串问题之 找到字符串的最长无重复子串
给定一个字符串str, 返回str的最长无重复字符子串长度 例如 str="abcd' 返回4 str=“aabcb” 最长“abc” 返回3 解决本题的思路非常非常有趣,这种思路必须要学会: 本题目可以做到 时间复杂度O(N) str长度N 空间复杂度O(M) M是字符编码 根据字符编码 大小 申 ...
分类:其他好文   时间:2017-08-22 11:40:25    阅读次数:147
HashMap实现原理分析
1. HashMap的数据结构 数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。 数组 数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难; 链表 链表存储区间离散,占用内存比较宽松,故空间复杂度 ...
分类:其他好文   时间:2017-08-21 22:57:29    阅读次数:187
只有五行的算法--floyd-warshall
floyd-warshall算法用来求最短路径(即动态规划) 时间复杂度为O(N3),空间复杂度为O(N2)。 到达目的地有两种方法,一:直接点对点,没有中转站。二:经过中转站直接到达。 在求最短路径前,先谈谈地图的存储 如图,使用二元数组存储。图中无穷大代表没有道路,e[1][2]=2代表1城市到 ...
分类:编程语言   时间:2017-08-19 21:13:47    阅读次数:150
BAT实习内推笔试卷(第一场)——个人答案以及分析
第一题: 给定一个长度不小于2的数组arr。 写一个函数调整arr,使arr中要么全部的偶数位上都是偶数,要么全部的奇数位上都是奇数上。 要求:假设数组长度为N。时间复杂度请达到O(N),额外空间复杂度请达到O(1),下标0,2,4,6...算作偶数位,下标1,3,5,7...算作奇数位,比如[1, ...
分类:其他好文   时间:2017-08-19 20:17:36    阅读次数:165
[LeetCode] 260. Single Number III(位运算)
传送门 Description Given an array of numbers nums, in which exactly two elements appear only once and all the other elements appear exactly twice. Find t ...
分类:其他好文   时间:2017-08-19 20:10:52    阅读次数:143
最长上升子序列
合唱队形题 题目分析 :分别求最长上升和下降子序列。 题目分析 :这道题差不多是个水题了,不过我在做题的被误导了,虽然结果正确却超时了。我们用上升子序列的时间复杂度是:O(n*n); 题目收获 :需要对时间复杂和空间复杂度进行深刻的重新理解。 AC代码 : ...
分类:其他好文   时间:2017-08-19 12:46:19    阅读次数:144
【LeetCode】数组-5(566)-按照要求输出矩阵
题目要求: 思路一:借助队列,先顺序读入input矩阵,然后按照output要求向output矩阵输入 【正确代码】 时间复杂度:O(m*n) 空间复杂度:O(m*n) 思路二:不借助辅助空间,直接根据output的要求向output矩阵输入 正常向output矩阵中读入数据,如果 cols > c ...
分类:编程语言   时间:2017-08-18 22:24:57    阅读次数:191
线段树 入门详解
概念(copy度娘): 线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。 使用线段树可以快速的查找某一个节点在若干条线段中出现的次数,时间复杂度为O(logN)。而未优化的空间复杂度为2N,因此有时需要离散化让空间压缩。 通俗地讲: 线段树 ...
分类:其他好文   时间:2017-08-18 22:21:36    阅读次数:163
hashMap与hashTable
哈希表由数组+链表组成,一个长度为16的数组中,每个元素存储的是一个链表的头结点。而HashMap和Hashtable就是哈希表结构。 HashMap和HashTable数组的存储空间是连续的,占用内存严重,故空间复杂度很大,但是查找时间复杂度较小。数组的特点:寻址容易,插入和删除困难。链表的存储空 ...
分类:其他好文   时间:2017-08-14 14:19:41    阅读次数:111
算法(第四版)学习笔记(三)——归并排序
归并排序 MERGE-SORT 时间复杂度: 空间复杂度: 一、原地归并排序 步骤:将两个已有序数组组合到一个数组中并排好序。 二、自顶向下归并排序 步骤:运用递归的方法,将数组平均分为两部分,进行排序,再将前部分再分为两部分,进行排序....直到数组被分为n组两个元素比较排序 改进后的自顶向上归并 ...
分类:编程语言   时间:2017-08-12 21:24:21    阅读次数:208
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!