码迷,mamicode.com
首页 >  
搜索关键字:空间复杂度    ( 2067个结果
第一个只出现一次的字符位置
题目:在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符的位置。若为空串,返回-1。位置索引从0开始。 思路:使用类似哈希表的结构,统计次数然后返回第一个出现次数为1的字符。时间和空间复杂度均为O(n)。 实现代码: ...
分类:其他好文   时间:2016-05-07 19:45:49    阅读次数:149
java 排序算法
(一) 直接插入排序(Straight Insertion Sorting)的基本思想:在要排序的一组数中,假设前面(n-1) [n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。 复杂度:时间复杂度  O(n2) ,空间复杂度O(1) 稳定性: 插入排序是稳定的,排序前后两个相等元素相对次序不变(能...
分类:编程语言   时间:2016-05-07 11:15:51    阅读次数:268
九大排序算法
* 为了实现N个数的排序,将后面N-1个数依次插入到前面已排好的子序列中, *假定刚开始第1个数是一个已排好序的子序列。经过N-1趟就能得到一个有序序列。 *****时间复杂度:最好情况O(n),最坏情况O(n^2),平均情况O(n^2). *****空间复杂度:O(1) *****稳定性:稳定 # ...
分类:编程语言   时间:2016-05-07 06:32:01    阅读次数:235
LeetCode:Single Number 3
题目大意:给定一个整数数组,其中除两个数字只出现一次外,其余数字均出现两次。找出这两个只出现一次的数字。例如:给定 nums = [1, 2, 1, 3, 2, 5],返回 [3, 5]注意:结果的顺序不重要。因此在上例中,[5, 3]也是正确的。你的算法应该满足线性时间复杂度。你可以只使用常数空间复杂度完成题目吗?解题思路1:使用字典,利用语句:dic[num]=dic.get(num,0)+1...
分类:其他好文   时间:2016-05-06 15:29:34    阅读次数:141
重拾我的算法思维之--归并排序
归并排序 算法平均时间复杂度:O(nlog2n) 算法空间复杂度:O(n) (用于存储有序子序列合并后有序序列) 原理:所谓归并排序是指将两个或两个以上有序的数列(或有序表),合并成一个仍然有序的数列(或有序表)。这句话讲的非常明白,有序,前提就是有序。 步骤分析: 1、划分子集 2、合并子集 先说 ...
分类:编程语言   时间:2016-05-05 02:04:51    阅读次数:216
请实现一个函数,把字符串中的每个空格替换成“%20”。
第一种:思路:遍历一个字符串,遇到空格向后移动三个char空间,插入%20,直到遍历结束。时间复杂度O(n^2)空间复杂度O(1)#include<iostream> #include<stdlib.h> #include<assert.h> usingnamespacestd; voidmemmove(void*src,void*des,size_tsize) { char*..
分类:其他好文   时间:2016-05-02 17:09:08    阅读次数:149
斐波那契数列的最优算法(O(logN))
相信大家都对斐波那契数列已经相当的熟悉了,最多两分钟就可以写出来以下时间复杂度为O(N)的代码://递归实现 longlongfib(intn) { if(n=1||n==2) { return1; } return(fib(n-2)+fib(n-1)); }或者是这样的时间复杂度为O(N),空间复杂度为O(1)://优化一:时间复杂度为O(N..
分类:编程语言   时间:2016-05-01 01:17:01    阅读次数:806
排序常用算法总结
排序算法:一种能将一串数据依照特定的排序方式进行排列的一种算法。 排序算法性能:取决于时间和空间复杂度,其次还得考虑稳定性,及其适应的场景。 稳定性:让原本有相等键值的记录维持相对次序。也就是若一个排序算法是稳定的,当有俩个相等键值的记录R和S,且原本的序列中R在S前,那么排序后的列表中R应该也在S之前。 以下来总结常用的排序算法,加深对排序的理解。排序算法目录 冒泡排序 插入排序 希尔排序...
分类:编程语言   时间:2016-04-29 19:53:05    阅读次数:192
排序常用算法总结
排序算法:一种能将一串数据依照特定的排序方式进行排列的一种算法。 排序算法性能:取决于时间和空间复杂度,其次还得考虑稳定性,及其适应的场景。 稳定性:让原本有相等键值的记录维持相对次序。也就是若一个排序算法是稳定的,当有俩个相等键值的记录R和S,且原本的序列中R在S前,那么排序后的列表中R应该也在S之前。 以下来总结常用的排序算法,加深对排序的理解。排序算法目录 冒泡排序 插入排序 希尔排序...
分类:编程语言   时间:2016-04-26 21:50:19    阅读次数:215
字符串包含
问题描述:给定两个字符串str1和str2,字符串中只包含字母(区分大小写)和数字,并且字符可以重复。现在让你判断str2中的字符是否都来源于str1中的字符(假设str1的长度为m,str2的长度为n)?限制时间复杂度为O(m+n),空间复杂度为O(1)。 分析:采用暴力法可以很容易地实现要求,但 ...
分类:其他好文   时间:2016-04-24 15:43:03    阅读次数:196
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!