码迷,mamicode.com
首页 >  
搜索关键字:空间复杂度    ( 2067个结果
Single Number
https://leetcode.com/problems/single-number/ 这是来自于leetcode上的一道题目。这里主要强调的是解决题目时候必须数学先行。题目虽然很简单,不假思考就可以给出几个很直观的答案,但是由于时间复杂度是O(nlogn)空间复杂度是O(n) Given an array of integers, every element appears t...
分类:其他好文   时间:2015-06-15 23:59:46    阅读次数:291
时间复杂度
算法分析同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率.算法分析的目的在于选择合适算法和改进算法.一个算法的评价主要从时间复杂度和空间复杂度来考虑.1、时间复杂度(1)时间频度一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道.但我们不可能也没有必要...
分类:其他好文   时间:2015-06-12 16:31:02    阅读次数:112
POJ 2104 区间第K大值(划分树做法)
由于深感自己水平低下,把大部分有效时间放在了刷题上,于是好久没写题解了。今天刚学了下划分树的原理,于是写道简单题练练手。题目链接:http://poj.org/problem?id=2104划分树的空间复杂度和时间复杂度均为O(nlogn),对于解决该问题而言,每次查询的复杂度为O(logn),比归...
分类:其他好文   时间:2015-06-11 22:35:29    阅读次数:139
BAT实习内推笔试卷(第一场)——个人答案以及分析
第一题: 给定一个长度不小于2的数组arr。 写一个函数调整arr,使arr中要么所有的偶数位上都是偶数,要么所有的奇数位上都是奇数上。 要求:如果数组长度为N,时间复杂度请达到O(N),额外空间复杂度请达到O(1),下标0,2,4,6...算作偶数位,下标1,3,5,7...算作奇数位,例如[1,2,3,4]调整为[2,1,4,3]即可 分析: 时间复杂度请达到O(N),就不能...
分类:其他好文   时间:2015-06-11 21:20:11    阅读次数:242
[剑指OFFER] 替换空格
题目描述请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。分析:个人理解,应该是对空间复杂度有要求,如果没有要求,下面code就OKclass Solution { public: ...
分类:其他好文   时间:2015-06-11 20:54:17    阅读次数:124
n*m 矩阵: set matrix zeroes
问题描述有个 N * M 的矩阵,其中有的元素是 0,如果是 0,那么将该行和该列都设置为0. 需要 O(1) 的空间复杂度问题分析初看此问题,确实很简单,没有过多算法内容。 如果有 O( M + N) 的空间,那么可以存储所有的含有 0 的列和行。然后再逐一设置 0 即可。 现在要求是使用 O(1) 的空间复杂度,该如何处理?问题求解 扫描 (Row >= 1 && Column >= 1)...
分类:其他好文   时间:2015-06-11 19:32:33    阅读次数:131
Partition List
思路:1. 空间复杂度为 o(n) 解法. 创建两个链表, 分别记录大于 x 和小于 x 的节点, 最后合并2. o(1) 的空间复杂度解法. 四个指针, 分别指向小于 x 部分链表的头, 尾, 指向大于 x 部分链表的头, 尾为了简单,我这里使用1的思路。# Definition for sing...
分类:其他好文   时间:2015-06-10 18:38:26    阅读次数:109
Same Tree
简单题ref“使用的是先序遍历,算法的复杂度跟遍历是一致的,如果使用递归,时间复杂度是O(n),空间复杂度是O(logn)。” by codegankerhttp://blog.csdn.net/linhuanmars/article/details/22839819?Time to search ...
分类:其他好文   时间:2015-06-10 06:32:13    阅读次数:104
算法练习:一维数组旋转
题目描述:求一个一维数组向右旋转K个位置后的结果。比如,一维数组{1, 2, 3, 4, 5},当k = 2时,求得的结果为{4, 5, 1, 2, 3}。要求常数级空间复杂度,允许修改原有数组。   一、使用额外的空间(在不要求常数级空间复杂度的情况下) 这样很简单,使用一个额外的空间,保存原有数组的元素,然后可以错位复制原有数组 元素,即可达到题目的要求。比如数组{1, 2, 3, 4...
分类:编程语言   时间:2015-06-08 23:31:14    阅读次数:422
常见算法题:单链表二路归并
题目:现有两个递增的单链表L1和L2,设计一个算法将L1与L2的所有结点归并到递增的单链表L3中。要求:空间复杂度为O(1)。思路:本题可采用二路归并思路,但题目要求空间复杂度为O(1),因此不能复制结点,只能破坏L1和L2将结点插入到L3中。代码:void Merge(LinkList &L1,LinkList &L2,LinkList &L3) { LinkList *p=L1.head...
分类:编程语言   时间:2015-06-07 18:55:19    阅读次数:350
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!