时间复杂度:执行算法需要消耗的时间长短 空间复杂度:执行当前算法需要消耗的存储空间大小 求解算法时间复杂度的具体步骤: 1.找出算法中的基本语句:算法中执行次数最多的那条语句,通常是最内层循环的循环体 2.计算基本语句的执行次数:只需保证基本语句执行次数的函数中的最高 复杂度对应的算法类型 常数阶O ...
分类:
其他好文 时间:
2020-09-09 19:15:04
阅读次数:
37
一:作用最长公共子序列的问题常用于解决字符串的相似度,是一个非常实用的算法,作为码农,此算法是我们的必备基本功。二:概念举个例子,cnblogs这个字符串中子序列有多少个呢?很显然有27个,比如其中的cb,cgs等等都是其子序列,我们可以看出子序列不见得一定是连续的,连续的那是子串。我想大家已经了解了子序列的概念,那现在可以延伸到两个字符串了,你可以看出cnblogs和belong的公共子序列吗?
分类:
编程语言 时间:
2020-09-09 18:57:09
阅读次数:
40
动态规划模板步骤: 确定动态规划状态 写出状态转移方程(画出状态转移表) 考虑初始化条件 考虑输出状态 考虑对时间,空间复杂度的优化(Bonus) ##674. 最长连续递增序列 题目分析 先区分两个概念。子序列:不一定连续;子串:一定连续。 题目中说到的是要连续的序列,所以该最长序列在原序列中一定 ...
分类:
其他好文 时间:
2020-09-03 16:35:57
阅读次数:
31
##1.主要思想 简单来说就是将大问题划分为小问题,并解决小问题重复计算的问题。 ##2.适用场景 常常适用于有重叠子问题和最优子结构性质的问题。 ##3.模板步骤 确定动态规划状态 写出状态转移方程(画出状态转移表) 考虑初始化的条件 考虑输出状态 考虑对时间和空间复杂度的优化(Bonus) ## ...
分类:
其他好文 时间:
2020-08-24 16:41:14
阅读次数:
55
布隆过滤器是什么? 布隆过滤器是一个高效的数据结构,用于集合成员查询,具有非常低的空间复杂度。 标准布隆过滤器(Standard Bloom Filters,SBF) 基本情况 布隆过滤器是一个含有 m 个元素的位数组(元素为0或1),在刚开始的时候,它的每一位都被设为0。同时还有 k 个独立的哈希 ...
分类:
编程语言 时间:
2020-08-20 18:16:17
阅读次数:
69
1.常见的时间复杂度和空间复杂度有哪些?O(1):constantcomplexity:constant常数复杂度O(logn):对数复杂度O(n):线性时间复杂度O(n^2):平方O(N^3):立方O(2^n):指数O(n!):阶乘2.时间复杂度和空间复杂度的重要性随着现在存储空间的便宜,很多情况下,我们是愿意用空间复杂度来换取时间复杂度的,因为内存,磁盘等这些和程序算法比起来,真的是太便宜的,
分类:
其他好文 时间:
2020-08-18 13:41:29
阅读次数:
80
题目描述 输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。 示例: 输入: n = 1 输出: [1,2,3,4,5,6,7,8,9] 题目链接: https://leetcode-cn.com/problems/da- ...
分类:
其他好文 时间:
2020-08-13 22:09:34
阅读次数:
65
从我高考成绩出来那一刻开始,从我在高考志愿上填上“计算机科学与技术”这几个当时在心中堪称“神圣”的几个字开始,我就已经把进入中国互联网最高殿堂“BAT”作为我整个大学奋斗的目标,哪怕我就读的是一所位于内陆的双非一本大学我也认为我能达成目标。
分类:
其他好文 时间:
2020-08-08 00:37:38
阅读次数:
92
本题 题目链接 题目描述 我的题解 方法一:使用库函数 s.substring() 代码如下 public String reverseLeftWords(String s, int n) { return s.substring(n, s.length()) + s.substring(0, n) ...
分类:
其他好文 时间:
2020-07-29 12:40:19
阅读次数:
71
是一道排序的题目 题目也提示了计数排序的方法。 当输入的元素是 n 个 0到 k 之间的整数时,时间复杂度是O(n+k),空间复杂度也是O(n+k) 题目后来的要求是常数空间复杂度O1空间复杂度,一趟扫描On,肯定是在计数排序上有所发展。 这时我们应该关注这道排序的特殊之处,因为没有一种通用的排序算 ...
分类:
编程语言 时间:
2020-07-28 14:28:10
阅读次数:
65