码迷,mamicode.com
首页 >  
搜索关键字:空间复杂度    ( 2067个结果
判断回文数
空间复杂度为O(1)的条件下,如何判断一个数是否回文。【方法1】最好的方法如下,可以避免溢出的风险public class Solution { public boolean isPalindrome(int x) { if (x reverse) { r...
分类:其他好文   时间:2015-04-13 01:31:59    阅读次数:115
LeetCode the longest palindrome substring
回文检测,参考http://blog.csdn.net/feliciafay/article/details/16984031使用时间复杂度和空间复杂度相对较低的动态规划法来检测,具体的做法图一 偶数个回文字符情况图二 奇数个回文字符情况核心就是如果一个子串是回文,如果分别向回文左右侧扩展一个字符相...
分类:其他好文   时间:2015-04-12 20:52:05    阅读次数:125
HashMap实现原理及源码分析
在数据结构与算法中,给我们介绍了常用的几种数据结构:数组,链表,哈希表。 数组结构:其在内存分配是一段连续的内存空间,可能会占用内存空间严重,空间复杂度很大,时间复杂度小,其优点是易于寻址,但是插入、删除困难。 链表结构:其在内存分配是一系列离散的内存空间,占用内存少,空间复杂度很小,时间复杂度很大,其优点是易于插入和删除,寻址困难。 哈希表:哈希表是集合数组和链表的存储结构,满足寻址方便,易于操作,占用内存空间较小,时间复杂度有较小。其例如下: ...
分类:其他好文   时间:2015-04-11 20:54:44    阅读次数:144
LeetCode—Set Matrix Zeroes 矩阵数组值为0,至行,列为0
Given a m x n matrix, if an element is 0, set its entire row and column to 0. Do it in place. 题目没有什么难度,但是可以在空间复杂度上做一些处理: 开始写的算法比较简单,将行和列中为0的部分记录下来,然后再经过一个赋值操作: class Solution { public: void s...
分类:编程语言   时间:2015-04-11 17:55:45    阅读次数:188
Leetcode Reverse Bits
题目地址:https://leetcode.com/problems/reverse-bits/题目分析:可以4bit为单位,0翻转对应0,1翻转对应8.....15翻转对应15,将这些翻转信息保存在数组中即可以O(1)的空间复杂度换来很好的时间复杂度题目解答:public class Soluti...
分类:其他好文   时间:2015-04-11 17:46:15    阅读次数:113
hihocoder(1032) 最长回文子串
经典题,没什么好说的,直接上manacher,时间复杂度O(n),空间复杂度O(n),因为需要额外申请一个数组存储每个位置的子回文长度。算法精髓:1.把无论奇,偶长度字符串转换为奇数个。2.利用已经得到的最长回文的右边界来减少重复计算的次数,如果右边界mx>i,则p[i] = min(mx-i, p...
分类:其他好文   时间:2015-04-11 10:12:55    阅读次数:117
各种排序算法的复杂度和稳定性
名称数据对象稳定性时间复杂度空间复杂度描述平均最坏冒泡排序数组(无序区,有序区)。从无序区通过交换找出最大元素放到有序区前端。选择排序数组(有序区,无序区)。在无序区里找一个最小的元素跟在有序区的后面。对数组:比较得多,换得少。链表插入排序数组、链表(有序区,无序区)。把无序区的第一个元素插入到有序...
分类:编程语言   时间:2015-04-10 23:52:20    阅读次数:230
70:Climbing Stairs【DP】
题目链接:click~/*题意:n阶的台阶,每次只能上一步或两步,共有多少种方法 *//** *思路:简单递推,d[i] = d[i-1] + d[i-2] * 两种方法,一种空间复杂度O(1),另一种O(n) *///O(1)class Solution {public: int ...
分类:其他好文   时间:2015-04-10 16:56:27    阅读次数:117
字符串循环左移
题目描述:给定一个字符串S[0...N-1],要求把S的前k 个字符移动到S的尾部,如把字符串“abcdef” 前面的2个字符‘a’、‘b’移动到字符串的尾 部,得到新字符串“cdefab”:即字符串循环左移k。算法要求:时间复杂度为O(n),空间复杂度为O(1)。问题分析:1、暴力移位法 每次循....
分类:其他好文   时间:2015-04-10 12:54:47    阅读次数:140
快速排序
基本思想:通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分关键字小,则分别对这两部分继续进行排序,直到整个序列有序。复杂度分析:时间复杂度:O(nlgn)(平均),O(nlgn)(最好),O(n^2)(最坏)空间复杂度:O(nlgn)稳定性:不稳定Java实现: 1 i...
分类:编程语言   时间:2015-04-08 12:33:42    阅读次数:121
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!