码迷,mamicode.com
首页 >  
搜索关键字:空间复杂度    ( 2067个结果
解题报告——第一次只出现一次的字符
题目:在一个字符串(1。     思路:简单的哈希问题,char占一个字节,8位,最多表示256种字符。时间复杂度O(n),空间复杂度O(1),因为hash数组大小为常数256。只需要遍历一次字符串,然后遍历一次hash数组即可。     我的代码如下:     class Solution { public: int FirstNotRepeatingChar(string str...
分类:其他好文   时间:2015-08-08 12:12:35    阅读次数:158
数论 - 线性筛法与积性函数
首先以求1000000以内的素数为例来探讨筛法 Eratosthenes筛法(埃拉托斯特尼筛法)时间复杂度:O(N*loglogN) 空间复杂度:O(N)代码:#include #include #include #include #include #include #include #inclu...
分类:其他好文   时间:2015-08-08 00:06:15    阅读次数:144
ACM的奇计淫巧_bitset优化
什么是bitsetbitset 是STL库中的二进制容器,根据C++ reference 的说法,bitset可以看作bool数组,但优化了空间复杂度和时间复杂度,并且可以像整形一样按位与或。使用方法申明bitset的申明要指明长度bitset bi这样就申明了一个长度为length的名叫bi的bi...
分类:其他好文   时间:2015-08-07 23:52:55    阅读次数:298
[Leetcode] Valid Anagram
一、可以使用排序的方式Java当中对于String,并没有实现相应的排序方法,如果需要对String当中的字符进行排序在需要进行转换,将String转化为char [], 再使用Arrays.sort()方法进行排序这样的时间复杂度是O(nlogn), 空间复杂度是O(1)二、如果需要更快的可以使用...
分类:其他好文   时间:2015-08-06 21:50:55    阅读次数:105
快速排序java实现
快速排序时间复杂度最理想情况下为O(nlgn),最坏情况为O(n2)空间复杂度为O(1)
分类:编程语言   时间:2015-08-06 00:25:56    阅读次数:150
谷歌笔试题 --- 环状链表去重
编码实现环状单向链表(尾指针直接指向头指针,中间没有空节点),去除连续的重复元素的操作。 比如:1(头)->2->2->3->3->1->1(头) 去除以后的结果是1->2->3,注意头尾的1也要去掉一个。 //时间复杂度为O(N) //空间复杂度为O(1) //代码如下: #include #include #include #include #include #i...
分类:其他好文   时间:2015-08-05 22:20:05    阅读次数:110
HDU 4372 Count the Buildings(组合数+斯特林数)
?? 题意:N座高楼,高度均不同且为1-N中的数,从前向后看能看到F个,从后向前看能看到B个,问有多少种可能的排列数。 思路:一开始想的是dp,但是数据范围达到2000,空间复杂度无法承受。 考虑以最高的楼分界,左边有f-1个递增的楼,右边有b-1个递减的楼,考虑将剩下n-1楼分为f+b-2组,规定每组中最高的在最左边,那么只需要 再从n-1组选出f-1组放到左边即可。 现在解决将n-1...
分类:其他好文   时间:2015-08-05 20:29:16    阅读次数:117
快速排序总结
快速排序是相当重要的一种排序方法。它的特点有:1. 平均时间复杂度为O(nlogn),最坏时间复杂度为O(n^2)。2. 平均空间复杂度为O(logn),最坏空间复杂度为O(n)。3. 不稳定 快排的实现方法有多种,这里只列出常用的两种。单向扫描版:int partition(int arr[...
分类:编程语言   时间:2015-08-05 10:12:06    阅读次数:134
A.归并排序
归并排序(求逆序数)归并排序:递归+合并+排序时间复杂度:O(n logn)空间复杂度:O(n)用途:1.排序 2.求逆序对数DescriptionIn this problem, you have to analyze a particular sorting algorithm. The alg...
分类:编程语言   时间:2015-08-04 22:20:25    阅读次数:113
算法进阶之manacher算法 (求最长回文)
前几天bestcode做到一道字符串的题目,需要O(n)的回文,正好看到网上的manacher算法,于是来学习一发 进入正题: manacher算法 用法:一般用于求一个字符串的最大回文,操作过程中会记录以每个点为中心的回文半径,可用来进行其他操作 时间复杂度:O(n) 空间复杂度:记录字符串2*n,半径数组2*n 内容: 记p[i]为以i为中心的回文半径(a...
分类:编程语言   时间:2015-08-04 17:16:17    阅读次数:194
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!