-
LeetCode cpp最新中文题解.pdf
LeetCode cpp最新中文题解.pdfLeetCode cpp最新中文题解.pdfLeetCode cpp最新中文题解.pdf目录3.4 Add binary615.1.5 Binary Tree Level Or-3.5 Longest Palindromic Substring. 62der traversal il3.6 Regular Expression Matching665.1.6 Binary Tree Zigzag3.7 Wildcard Matching67Level Order traversal. 963.8 Longest Common Prefix5.1.7 Recover Binary Search3. 9 Valid Number70Tree983.10 Integer to roman725. 1. 8 Same Tree3. 11 Roman to Integer735.1.9 Symmetric Tree1003.12 Count and Say745.1.10 Balanced Binary Tree.. 1023. 13 Anagrams755.1.11 Flatten Binary Tree to3. 14 Simplify Path76Linked List1033. 15 Length of Last Word775.1. 12 Populating Next RightPointers in each node ii 105第4章栈和队列7952二叉树的构建10641栈795.2.1 Construct Binary Tree4Valid Parentheses79from Preorder and In4.1.2 Longest valid Parenorder Traversa106theses805.2.2 Construct Binary Tree4.1.3 Largest Rectangle infrom Inorder and posHistogram82torder Traversal1074.1.4 Evaluate reverse pol-53二叉查找树108ish notation845.3. 1 Unique Binary Search4.2队列85Trees.1085.3.2 Unique Binary Search第5章树86Trees li.1105.1二叉树的遍历865.3.3 Validate Binary Search5.1.1 Binary Tree PreorderTreeTraversal865.3. 4 Convert Sorted array to5.1.2 Binary Tree InorderBinary Search Tree...112Traversal885.3.5 Convert Sorted List to5.1. 3 Binary Tree PostorderBinary Search Tree113Traversal9054二叉树的递归.1145. 1. 4 Binary Tree Level Or5.4.1 Minimum Depth of Bider traversal)2nary lree115目录5.4.2 Maximum Depth of Bi8.3.,2重新实现 next permunary Tree116tation1425.4.3 Path Sum11783.3递归.1435.4 4 Path Sum il118 8.4 Permutations II1445.4.5 Binary Tree Maximum8.4.1 next permutation... 144Path Suum11984.2重新实现 next permu5.4.6 Populating Next Righttation144Pointers in each node 120843递归1445.4.7 Sum Root to Leaf num8.5 Combinations146bers2185.1递归1468.5.2迭代147第6章排序1238.6 Letter Combinations of a phone6.1 Merge Sorted Array123umber1476.2 Merge Two Sorted Lists12486.1递归1486.3 Merge k Sorted Lists124862迭代96.4 Insertion Sort List125第9章广度优先搜索1506.5 Sort list1269.1 Word Ladder1506.6 First Missing Positive1279.2 Word Ladder il1546.7 Sort Colors1289.3 Surrounded regions162第7章查找94小结16413194.l适用场景1647.1 Search for a range131942思考的步骤7.2 Search Insert Position.13294.3代码模板1657. 3 Search a 2D Matrix133第10章深度优先搜索173第8章暴力枚举法13510.1 Palindrome Partitioning1738.1 Subsets13510.2 Unique Paths1768.1.1递归1350.2.1深搜1768.1.2迭代.1371022备忘录法.1768.2 Subsets il13810.23动规177821递归13810.24数学公式1788.2.2迭代.14110.3 Unique Paths Il1798. 3 Permutations14210.3.1备忘录法1798.3.1 next permutation14210.3.2动规.180目录10.4 N-Queens1813.4 Maximal rectangle21310.5 N-Queens II18413.5 Best Time to Buy and Sell Stock10.6 Restore ip addresses186.21410.7 Combination Sum18813.6 Interleaving String21510.8 Combination Sum Il18913.7 Scramble String21710.9 Generate Parentheses.19013. 8 Minimum Path Sum.22210.10 Sudoku solver19213.9 Edit Distance22410.11 Word Search.19313. 10 Decode Ways.22610.12小结19513. 11 Distinct sub22710.12.1适用场景19513. 12 Word Break22810.122思考的步骤19513 13 Word Break il2300.12.3代码模板197第14章图23210.12.4深搜与回溯法的区別.19714. 1 Clone Graph23210.12.5深搜与递归的区别..197第15章细节实现题235第11章分治法19915.1 Reverse Integer2351.1 Pow(x, n)19915.2 Palindrome Number.23611. 2 Sqrt(x)20015.3 Insert Interval237第12章贪心法20115.4 Merge Intervals23812.1 Jump game20115.5 Minimum Window Substring23912.2 Jump game II15.6 Multiply Strings24112. 3 Best Time to buy and Sell stock 20415.7 Substring with Concatenation12. 4 Best Time to buy and sell stock l205of all words24412. 5 Longest Substring Without re15.8 Pascal,s Triangle245peating Characters20615.9 Pascals Triangle Il24612.6 Container with Most Water.. 207 15.10 Spiral Matrix24715.11 Spiral matrix II248第13章动态规划20915.12 ZigZag Conversion25013. 1 Triangle20915.13 Divide Two Integers25113.2 Maximum Subarray15. 14 Text Justification25313.3 Palindrome Partitioning II1215.15 Max Points on a line255目录第1章编程技巧在判断两个浮点数a和b是否相等时,不要用a==b,应该判断二者之差的绝对值fabs(a-b)是否小于某个阈值,例如1e-9。判断一个整数是否是为奇数,用x%2!=0,不要用x%2=1,因为ⅹ可能是负用char的值作为数组下标(例如,统计字符串中每个字符岀现的次数),要考虑到char可能是负数。有的人考虑到了,先强制转型为 unsigned int再用作下标,这仍然是错的。正确的做法是,先强制转型为 unsigned char,再用作下标。这涉及C十整型提升的规则,就不详述了。以下是关于STL使用技巧的,很多条款来自《 Effective STL》这本书。vector和 string优先于动态分配的数组首先,在性能上,由于 vector能够保证连续内存,因此一旦分配了后,它的性能跟原始数组相当;其次,如果用new,意味着你要确保后面进行孓 delete,一旦忘记了,就会出现BUG,且这样需要都写一行 delete,代码不够短再次,声明多维数组的话,只能一个一个new,例如int** ary = new int*[row_num];for(int i=0: i< row num; ++1)ary [i] new int [col_num]用 vector的话一行代码搞定vectorary(row_num, vector(col_num, 0))使用 reserve来避免不必要的重新分配第2章线性表这类题目考察线性表的操作,例如,数组,单链表,双向链表等。2数组2.1.1 Remove Duplicates from Sorted array描述Given a sorted array, remove the duplicates in place such that each element appear only onceand return the new lengthDo not allocate extra space for another array, you must do this in place with constant memoryFor example, Given input array A =[1, 1, 2Your function should return length =2, and a is now [1, 2]分析无代码1/ LeetCode, Remove Duplicates from Sorted Array//时间复杂度0(n),空间复杂度0(1)class Solution tublicint removeDuplicates(vector& nums)tif (nums empty o) return 0;int index =ofor (int i =1: i nums size: 1++ iif (nums [index] ! nums [i])nums [++index]= nums [i]return index 12.1数组代码2//LeetCode, Remove Duplicates from Sorted Array/使用STL,时间复杂度0(n),空间复杂度0(1)class Solution ipublicint removeDuplicates(vector& nums)treturn distance(nums begin(), unique(nums begin(), nums end ())代码3/ LeetCode, Remove Duplicates from Sorted Array/使用STL,时间复杂度0(n),空间复杂度0(1)lass Solution fublicint removeDuplicates(vector& nums)treturn distance(nums begin(, removeDuplicates(nums begin(, nums end(), nums begintemplateOutIt removeDuplicates(InIt first, InIt last, OutIt output)thile (first last)i*output++ = *firstfirst upper_bound(first, last, *firstreturn output相关题目Remove Duplicates from Sorted Array I,见§2.1.22.1.2 Remove Duplicates from Sorted Array II描述Follow up for"Remove Duplicates " What if duplicates are allowed at most twice?For example, Given sorted array a =[1, 1, 1, 2, 2, 3]Your function should return length=5, and A is now [1, 1, 2, 2, 3分析加一个变量记录一下元素出现的次数即可。这题因为是已经排序的数组,所以一个变量即可解决。如果是没有排序的数组,则需要引入一个 hashmap来记录出现次数。4第2章线性表代码1// Leet Code, Remove Duplicates from Sorted Array II//时间复杂度0(n),空间复杂度0(1)//qauthorhex108(https://github.com/hex108)class Solution tublicint removeDuplicates(vector& nums)tif (nums size(
- 2020-12-04下载
- 积分:1
-
求解约束优化问题的改进粒子群优化算法
求解约束优化问题的改进粒子群优化算法!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 2021-05-07下载
- 积分:1
-
从零开始学verilog和FPGA
【实例简介】这本书比较适合新手看,从最基础的讲起。到了后面还有很多例子
- 2021-10-30 00:34:04下载
- 积分:1
-
Jacobi__矩阵特征值和特征向量(详细,有例子)
Jacobi__矩阵特征值和特征向量(详细,有例子)
- 2020-12-10下载
- 积分:1
-
数字图像变换,傅里叶变换,FFT,余弦变换,沃尔什变换
vc++数字图像变换,傅里叶变换,快速傅里叶变换,余弦变换,沃尔什变换等图像的变换程序
- 2021-05-06下载
- 积分:1
-
模糊PID控制算法讲解与代码
本资源讲解了利用模糊理论与PID控制理论相结合的思路,设计了模糊PID控制器,并用于液压伺服系统中。
- 2020-12-02下载
- 积分:1
-
高精度捷联惯性导航系统Matlab工具箱
高精度捷联惯性导航系统Matlab工具箱
- 2020-12-18 16:29:10下载
- 积分:1
-
新版完整Visio图库
从多个地方搜罗的Viso图标,含有51个文件,分别对应48个领域类别。(2005/2008年资源,酌情下载)
- 2020-12-06下载
- 积分:1
-
麦克风阵列前端语音信号处理
个人学习笔记,稍稍整理下阵列波東形成技术模型最大信噪比最小方差无失真响应滤波器线性约束最小方差广义旁瓣相消基于阵列定位和跟踪技术互相关方法3.3.2广义互相关(基于特征向量的方法最小熵法白适应特征向量分解法自适应盲信号分离(,空域线性预测法语音信号预加重算法第五章模型高斯混合模型隐马尔可夫模型频率分析()深度神经网络第章信号处理语音信号特点在一段时间内),人的声带和声道形状是相对稳定的,可认为其特征是不变的。语音可以分为周期性的浊音和非周期的清音。浊音和清音绎常在一个音节中同时出现。浊音部分和音质关系密切,在时域上呈现岀明显的周期性,在频域上有共振峰结构,而且大部分能量集中在较低频段内,是语音中人幅度高能量的部分;清音则具有明显的时域和频域特征,类似于白噪声,能量较小,在强噪声中容易被掩盖,但在较髙信噪比时能提供较多的信息。在语音增强中,可以利用浊音的周期性特征,采用梳状滤波器提取语音分量或者抑制非语音信号,而清音则难以与宽带噪声区分,加性噪声大致上有:周期性噪声、脉冲噪声、宽带噪声和同声道的其亡语音干扰等。周期性噪声主要来源于发动机等周期性运转的机械,电气干扰,特别是电源交流声也会引起周期性噪声,其特点是有许多离散的窄谱峰。脉冲噪声来源于爆炸、撞击和放电等,表现为时域波形中突然出现的窄脉冲。宽带噪声的来源很多,包括热噪声、气流(风、呼吸)噪声及各种随杋噪声源,量化噪声也可视为宽带噪声。平稳的宽带噪声,通常也可以λ为宽带噪声。平稳的宽带噪声,通常也可以视为高斯白噪声。语音增强算法大致分为四种:参数法、非参数法、统讣法和其它方法。信号响应的意义对于任何一个信号均可以使用冲击函数来表示,即:∑()6(数字信号处理的意义就是通过运算来达到处理的目的,设这种运算关系为:]则输出信号()和输入信号()之间的关系指述为=[()。卷积推导设系统输入()=6()系统的输出()的初始状态为零,这时系统输出用()表示为则称()为系统的单位脉冲响应。则对任意输入信号(),系统输出为:()6(根据叠加原理可得:()∑()(-)∑()[6(-)利用系统时不变性,可得下式6(-)=(-),因此可得:()∑()o(-)=()*()上述就是卷积公式的推导。时域离散系统的输入输出描述法描述一个系统可以不管系统内部的结构如何,将系统看成一个黑盒子,只描述系统的输岀和输入之间的关系,这种描述法被成为输入输岀描述法。在模拟系统中使微分方程描述系统的输入和输出之间的关系,在时域离散系统中使用差分方程描述系统的输入和输岀关系点评:微分方程重在描述变化的趋势,差分方程的过程可以套用卷积的方法。时域离散信号傅里叶变换(TFT, Discrete- Time Fourier Transform)定义上述ω的单位是弧度,范围是x。其傅里叶反变换由如下公式得到:()周期信号由傅里叶级数表示傅里叶变换的一些性质时域卷积,频域相乘;时域相乘,频域卷积∑|()巴塞伐尔定理信号的功率也可以在频域求离散傅里叶变换(将有限长时域离散信号变换到频域的变换,但变换的结果是对时域离散信号的频谱的等问隔采样定义设序列()的长度为,定义()的点为()=[()=∑(式中,成为离散傅里叶变换区间长度,要求中即可得为书写简单,令则可以简写为:()=[()=∑()≤≤其反变换如下()=[()=-∑()和之间的关系:的主要性质)线性性质)隐含周期性)循环移位性质)有限长序列的循环移位设序列()的长度为,对()以≥为周期进行周期延拓,得到:()=()定义()的循环移位序列为()=^(+)()=(+)()上式表示将序列()以为周期进行周期延拓,再左移个单位取主值序列,就得到()的循环移位序列()。则有如下结论:设序列()的长度为,其循环移位序列为()=()())=[()()=[()短时傅里叶变换(,针对平稳信号的变换,语音信号在长时间跨度上不平稳,但其每个时间段内可看成是平稳的。定义°,()是输入信号,()是分析窗口(-)是纤过时域翻转并右移个采样点。类似于,离散定义如下)2()=∑()(其含义是在时域用窗函数截取信号,对截取部分的信号进行傅里叶变换,即在时刻得到时刻该段信号的傅里叶变换,不断移动,即可得到不同的傅甲叶变换,将这些傅里叶变换组合起来即得(o)计算在计算()和滤波器()卷积效率较高。的基木思想是将()分段,将分段后的每段与()卷积()=是任意的分段长度()=∑(-)()=∑(-)()=∑)*()=∑数字滤波器的最大优点是可以实现线性相位滤波。线性相位设的单位脉冲响应()的长度为,则其频响函数为()=∑()将(“)表示成如下形式e(a)式中,(a)是O的实函数,如果满足0(o)a则相位满足线性关系线性相位对时域和频域的约束)=∑O0展开可得:∑()(0-(o)=(a)((o)-(o)系数偶对称。窗函数设计其设计思想是使用逼近希望的滤波特性。基本方法)构造希望逼近的频响函数(“)
- 2020-12-12下载
- 积分:1
-
NASA锂电池测试数据
NASA PCoE研究中心锂离子电池测试数据,所用电池为18650电池,额定容量2Ah,数据以MATLAB格式文件存储提供
- 2020-12-09下载
- 积分:1