Given a 2D board containing 'X' and 'O', capture all regions surrounded by 'X'. A region i…
分类:空间复杂度
各种排序算法的时间复杂度和空间复杂度
其中冒泡排序加个标志,所以最好情况下是o(n) 直接选择排序: 排序过程: 1 、首先在所有数据…
链表回文判断(C++)
题目描述: 对于一个链表,请设计一个时间复杂度为O(n),额外空间复杂度为O(1)的算法,判断其是否为回文结构。 给定一个链表的头指针A,请返回一个bool值,代表其是否为回文结构。保证链表长度小于等于900。 测试样例…
LeetCode第[66]题(Java):Plus One
题目:数组加一 难度:Easy 题目内容: Given a non-empty array of digits representing a non-negative inte…
各类排序算法复杂度比较
各种排序算法比较 各种常用排序算法 类别 排序方法 时间复杂度 空间复杂度 稳定性 复杂性 特点 最好 平均 最坏 辅助存储 简单 插入 排序 直接插入 O(N) O…
说点时间复杂度和空间复杂度
算法的时间复杂度和空间复杂度合称为算法的复杂度。 1、大O符号 参考词条信息。 摘自词条部分 大O符号在分析算法效率的时候非常有用。举个例子,解决一个规模为 n 的问题所花费的时间(或者所需步骤的数目)可以被…
面试题:找出数组中只出现一次的2个数(异或的巧妙应用)(出现3次)
题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。 分析:这是一道很新颖的关于位运算的面试题。 首先我们考虑这个问题的一个简…
面试题之数组统计
题目:给定数组A,大小为n,数组元素为0到n-1的数字,不过有的数字出现了多次,有的数字没有出现。请给出算法和程序,统计哪些数字没有出现,哪些数字出现了多少次。要求在O(n)的时间复杂度,O(1)的空间复杂度下完成。 &…
栈的最大值问题 max问题 min问题 队列的max问题
常数时间求栈的最大值 问题描述: 一个栈stack,具有push和pop操作,其时间复杂度皆为O(1)。 设计算法max操作,求栈中的最大值,该操作的时间复杂度也要求为O(1)。 可以修改栈的存储方式,pu…
时间复杂度与空间复杂度
时间复杂度对应语句执行的次数(而不是具体语句的复杂度),空间复杂度对应算法占用的存储空间 时间复杂度有以下经验规则:O(1)<O(log2^n)<O(n)<O(n*log2^n)<O(n^2)&l…
算法的复杂度学习笔记
同一个问题可以用不同的算法实现,而算法是有优劣之分的。我们经常需要对算法进行分析,以便于选择合适的算法和改进算法。 通常我们从两个维度来描述算法的优劣:程序代码的执行时间和代码占用的内存空间。两者分别叫做算法的时间复杂度…
BFS和DFS算法分析对比及优化
NOI2001-聪明的打字员 阿兰是某机密部门的打字员,她现在接到一个任务:需要在一天之内输入几百个长度固定为6的密码。当然,她希望输入的过程中敲击键盘的总次数越少越好。不幸的是,出于保密的需要,该部门用于输入密码的…