LeetCodecpp最新中文题解.pdfLeetCodecpp最新中文题解.pdfLeetCodecpp最新中文题解.pdf目录3.4Addbinary615.1.5BinaryTreeLevelOr-3.5LongestPalindromicSubstring.62dertraversalil3.6RegularExpressionMatching665.1.6BinaryTreeZigzag3.7WildcardMatching67LevelOrdertraversal.963.8LongestCommonPrefix5.1.7RecoverBinarySearch3.9ValidNumber70Tree983.10Integertoroman725.1.8SameTree3.11RomantoInteger735.1.9SymmetricTree1003.12CountandSay745.1.10BalancedBinaryTree..1023.13Anagrams755.1.11FlattenBinaryTreeto3.14SimplifyPath76LinkedList1033.15LengthofLastWord775.1.12PopulatingNextRightPointersineachnodeii105第4章栈和队列7952二叉树的构建10641栈795.2.1ConstructBinaryTree4ValidParentheses79fromPreorderandIn4.1.2LongestvalidParenorderTraversa106theses805.2.2ConstructBinaryTree4.1.3LargestRectangleinfromInorderandposHistogram82torderTraversal1074.1.4Evaluatereversepol-53二叉查找树108ishnotation845.3.1UniqueBinarySearch4.2队列85Trees.1085.3.2UniqueBinarySearch第5章树86Treesli.1105.1二叉树的遍历865.3.3ValidateBinarySearch5.1.1BinaryTreePreorderTreeTraversal865.3.4ConvertSortedarrayto5.1.2BinaryTreeInorderBinarySearchTree...112Traversal885.3.5ConvertSortedListto5.1.3BinaryTreePostorderBinarySearchTree113Traversal9054二叉树的递归.1145.1.4BinaryTreeLevelOr5.4.1MinimumDepthofBidertraversal)2narylree115目录5.4.2MaximumDepthofBi8.3.,2重新实现nextpermunaryTree116tation1425.4.3PathSum11783.3递归.1435.44PathSumil1188.4PermutationsII1445.4.5BinaryTreeMaximum8.4.1nextpermutation...144PathSuum11984.2重新实现nextpermu5.4.6PopulatingNextRighttation144Pointersineachnode120843递归1445.4.7SumRoottoLeafnum8.5Combinations146bers2185.1递归1468.5.2迭代147第6章排序1238.6LetterCombinationsofaphone6.1MergeSortedArray123umber1476.2MergeTwoSortedLists12486.1递归1486.3MergekSortedLists124862迭代96.4InsertionSortList125第9章广度优先搜索1506.5Sortlist1269.1WordLadder1506.6FirstMissingPositive1279.2WordLadderil1546.7SortColors1289.3Surroundedregions162第7章查找94小结16413194.l适用场景1647.1Searchforarange131942思考的步骤7.2SearchInsertPosition.13294.3代码模板1657.3Searcha2DMatrix133第10章深度优先搜索173第8章暴力枚举法13510.1PalindromePartitioning1738.1Subsets13510.2UniquePaths1768.1.1递归1350.2.1深搜1768.1.2迭代.1371022备忘录法.1768.2Subsetsil13810.23动规177821递归13810.24数学公式1788.2.2迭代.14110.3UniquePathsIl1798.3Permutations14210.3.1备忘录法1798.3.1nextpermutation14210.3.2动规.180目录10.4N-Queens1813.4Maximalrectangle21310.5N-QueensII18413.5BestTimetoBuyandSellStock10.6Restoreipaddresses186.21410.7CombinationSum18813.6InterleavingString21510.8CombinationSumIl18913.7ScrambleString21710.9GenerateParentheses.19013.8MinimumPathSum.22210.10Sudokusolver19213.9EditDistance22410.11WordSearch.19313.10DecodeWays.22610.12小结19513.11Distinctsub22710.12.1适用场景19513.12WordBreak22810.122思考的步骤1951313WordBreakil2300.12.3代码模板197第14章图23210.12.4深搜与回溯法的区別.19714.1CloneGraph23210.12.5深搜与递归的区别..197第15章细节实现题235第11章分治法19915.1ReverseInteger2351.1Pow(x,n)19915.2PalindromeNumber.23611.2Sqrt(x)20015.3InsertInterval237第12章贪心法20115.4MergeIntervals23812.1Jumpgame20115.5MinimumWindowSubstring23912.2JumpgameII15.6MultiplyStrings24112.3BestTimetobuyandSellstock20415.7SubstringwithConcatenation12.4BestTimetobuyandsellstockl205ofallwords24412.5LongestSubstringWithoutre15.8Pascal,sTriangle245peatingCharacters20615.9PascalsTriangleIl24612.6ContainerwithMostWater..20715.10SpiralMatrix24715.11SpiralmatrixII248第13章动态规划20915.12ZigZagConversion25013.1Triangle20915.13DivideTwoIntegers25113.2MaximumSubarray15.14TextJustification25313.3PalindromePartitioningII1215.15MaxPointsonaline255目录第1章编程技巧在判断两个浮点数a和b是否相等时,不要用a==b,应该判断二者之差的绝对值fabs(a-b)是否小于某个阈值,例如1e-9。
判断一个整数是否是为奇数,用x%2!=0,不要用x%2=1,因为ⅹ可能是负用char的值作为数组下标(例如,统计字符串中每个字符岀现的次数),要考虑到char可能是负数。
有的人考虑到了,先强制转型为unsignedint再用作下标,这仍然是错的。
正确的做法是,先强制转型为unsignedchar,再用作下标。
这涉及C十整型提升的规则,就不详述了。
以下是关于STL使用技巧的,很多条款来自《EffectiveSTL》这本书。
vector和string优先于动态分配的数组首先,在功能上,由于vector能够保证连续内存,因此一旦分配了后,它的功能跟原始数组相当;其次,如果用new,意味着你要确保后面进行孓delete,一旦忘记了,就会出现BUG,且这样需要都写一行delete,代码不够短再次,声明多维数组的话,只能一个一个new,例如int**ary=newint*[row_num];for(inti=0:i<rownum;++1)ary[i]newint[col_num]用vector的话一行代码搞定vector<vector<int>>ary(row_num,vector<int>(col_num,0))使用reserve来避免不必要的重新分配第2章线性表这类题目考察线性表的操作,例如,数组,单链表,双向链表等。
2数组2.1.1RemoveDuplicatesfromSortedarray描述Givenasortedarray,removetheduplicatesinplacesuchthateachelementappearonlyonceandreturnthenewlengthDonotallocateextraspaceforanotherarray,youmustdothisinplacewithconstantmemoryForexample,GiveninputarrayA=[1,1,2Yourfunctionshouldreturnlength=2,andaisnow[1,2]分析无代码1/LeetCode,RemoveDuplicatesfromSortedArray//时间复杂度0(n),空间复杂度0(1)classSolutiontublicintremoveDuplicates(vector<int>&nums)tif(numsemptyo)return0;intindex=ofor(inti=1:inumssize:1++iif(nums[index]!nums[i])nums[++index]=nums[i]returnindex12.1数组代码2//LeetCode,RemoveDuplicatesfromSortedArray/使用STL,时间复杂度0(n),空间复杂度0(1)classSolutionipublicintremoveDuplicates(vector<int>&nums)treturndistance(numsbegin(),unique(numsbegin(),numsend())代码3/LeetCode,RemoveDuplicatesfromSortedArray/使用STL,时间复杂度0(n),空间复杂度0(1)lassSolutionfublicintremoveDuplicates(vector<int>&nums)treturndistance(numsbegin(,removeDuplicates(numsbegin(,numsend(),numsbegintemplate<typenameInIt,typenameoutit>OutItremoveDuplicates(InItfirst,InItlast,OutItoutput)thile(firstlast)i*output++=*firstfirstupper_bound(first,last,*firstreturnoutput相关题目RemoveDuplicatesfromSortedArrayI,见§2.1.22.1.2RemoveDuplicatesfromSortedArrayII描述Followupfor"RemoveDuplicates"Whatifduplicatesareallowedatmosttwice?Forexample,Givensortedarraya=[1,1,1,2,2,3]Yourfunctionshouldreturnlength=5,andAisnow[1,1,2,2,3分析加一个变量记录一下元素出现的次数即可。
这题因为是已经排序的数组,所以一个变量即可解决。
如果是没有排序的数组,则需要引入一个hashmap来记录出现次数。
4第2章线性表代码1//LeetCode,RemoveDuplicatesfromSortedArrayII//时间复杂度0(n),空间复杂度0(1)//qauthorhex108(https://github.com/hex108)classSolutiontublicintremoveDuplicates(vector<int>&nums)tif(numssize(<=2)returnnumssizeintindex=2for(inti=2:inumssize(:i++)ff(nums[i]!numslindex-2]nums[index++]=nums[i]returnindex;代码2下面是一个更简洁的版本。
上面的代码略长,不过扩展性好一些,例如将occur<2改为occur3,就变成了允许重复最多3次。
//LeetCode,RemoveDuplicatesfromSortedArrayII7/@author虞航仲(http://weibo.com/u/1666779725)//时间复杂度0(n),空间复杂度0(1)lassSolutionfpublicintremoveDuplicates(vector<int>&nums)tconstintn=numssizeintindex=0:for(inti=0:i<n;++i)if(i>0&&i<n-1&nums[i]=nums[i-1]&nums[i]=nums[i1])continue;nums[index++]=nums[i]returnindex;相关题目RemoveDuplicatesfromSortedArray,见§2.1.1
2019/5/20 21:34:34 866KB why
1
模电本身是一个非常复杂的学科,而模电课程只是其中最基础的东西。
模拟电路(AnalogCircuit)的含义是处理模拟信号的电子电路。
自然界中绝大多数信号都是模拟信号,它们有连续的幅度值,比如说话时的声音信号。
模拟电路可以对这样的信号直接处理(当然需要先转换成电信号),比如功放能放大声音信号,广播电台能将模拟的声音信号、图像信号进行发送。
甚至可以认为,所有电路的基础都是模拟电路(即便是数字电路,其底层原理也是基于模拟电路的)。
其重要性不言而喻。
2016/3/6 10:44:02 19.02MB 模电 工科
1
a) 输出频率范围:0-10kHzb) 输出电压:方波VP-P=10V,正弦波U>1.5Vc) 输出信号的频率和幅值连续可调a) 电路能输出正弦波、方波、三角波、锯齿波四种波形;
b) 输出信号的频率要求可调;
c) 拟定测试方案和设计步骤;
d) 根据功能指标,计算元件参数,选好元件,设计电路并画出电路图;
e) 用Multisim进行仿真测试,测量输出信号的幅度和频率;
f) 写出设计报告。
2015/7/15 2:41:03 1.28MB 模电
1
multism源文件设计一个压控函数信号发生器,能产生方波、三角波、正弦波、锯齿波信号。
功能指标要求:输出频率范围100HZ~1KHZ、1~10KHZ输出电压:方波Up-p10V,正弦波U>1.5V;
输出信号的频率和幅值连续可调。
2017/5/15 9:56:08 419KB 模电课设 信号发生器
1
(更多详情、使用方法,请下载后细读README.md文件)English繁體中文日本語Deutsch\nLibDriverHMC5883L\n霍尼韦尔HMC5883L是一款表面贴装多芯片模块,专为低场磁场感应而设计,具有数字接口,适用于低成本罗盘和磁力测量等应用。
HMC5883L包括我们最先进的高分辨率HMC118X系列磁阻传感器和一个ASIC,其中包含放大、自动消磁带驱动器、偏移消除和一个12位ADC,可实现1°至2°罗盘航向精确性。
I2C串行总线允许简单的接口。
HMC5883L是一款3.0x3.0x0.9mm表面贴装16引脚无引线芯片载体(LCC)。
HMC5883L的应用包括移动电话、上网本、消费电子产品、自动导航系统和个人导航设备。
\nLibDriverHMC5883L是LibDriver推出的HMC5883L全功能驱动,提供连续模式磁场强度读取、单模式磁场读取等功能。
LibDriver符合MISRA。
\n目录\n操作说明\n安装\n用法\n基本示例\n示例镜头\n文档\n贡献\n执照\n
2018/9/24 22:45:15 3.27MB C
1
描述TIDA-00776设计是一种350W的经济实惠型功率因数稳压器转换器,专为冰箱和其他电器应用而设计。
此参考设计是一种连续导通模式(CCM)升压转换器,使用TI的UCC28180PFC控制器且具有所有必要的内置保护。
硬件经专门设计和测试,符合家用电器的IEC61000-3-2(2014)的电流谐波要求。
特性90VAC至265VAC通用输入满足有关电流谐波的IEC61000-3-2D类要求转换效率超过98.2%(高压线)PCB外形玲珑:82mmx80mmx25mm增强了输出过压和欠压情况下的动态响应待机功耗极低,小于300mW
2021/11/10 19:15:22 4.4MB 开源 电路方案
1
本文介绍了一种用于移动医疗监控的可穿戴生理多参数捕获设备。
凭借该设备的新颖结构,它可用于对多个参数(例如PPG,ECG,体温等)进行不干扰,长期的实时监控,而不会影响佩戴者的日常活动且不会限制其移动性。
几天的连续长期监视将为疾病的预防和治疗提供有价值的参考。
而且,该设备可以用于健康检查,因为医院中的传统健康检查通常是有时间限制的,因而可能无法及时发现一些潜在的疾病,尤其是心脏病。
作者还简要介绍了整个监视系统。
2016/2/1 6:34:51 960KB 研究论文
1
读者调用案例的时候,只要把案例中的数据换成自己需要处理的数据,即可实现自己想要的网络。
如果在实现过程中有任何疑问,可以随时在MATLAB中文论坛与作者交流,作者每天在线,有问必答。
该书共有30个MATLAB神经网络的案例(含可运行程序),包括BP、RBF、SVM、SOM、Hopfield、LVQ、Elman、小波等神经网络;还包含PSO(粒子群)、灰色神经网络、模糊网络、概率神经网络、遗传算法优化等内容。
该书另有31个配套的教学视频帮助读者更深入地了解神经网络。
本书可作为本科毕业设计、研究生项目设计、博士低年级课题设计参考书籍,同时对广大科研人员也有很高的参考价值。
图书目录第1章P神经网络的数据分类--语音特征信号分类第2章BP神经网络的非线性系统建模--非线性函数拟合第3章遗传算法优化BP神经网络--非线性函数拟合第4章神经网络遗传算法函数极值寻优--非线性函数极值寻优第5章基于BP_Adaboost的强分类器设计--公司财务预警建模第6章PID神经元网络解耦控制算法--多变量系统控制第7章RBF网络的回归--非线性函数回归的实现第8章GRNN的数据预测--基于广义回归神经网络的货运量预测第9章离散Hopfield神经网络的联想记忆--数字识别第10章离散Hopfield神经网络的分类--高校科研能力评价第11章连续Hopfield神经网络的优化--旅行商问题优化计算第12章SVM的数据分类预测--意大利葡萄酒种类识别第13章SVM的参数优化--如何更好的提升分类器的功能第14章SVM的回归预测分析--上证指数开盘指数预测第15章SVM的信息粒化时序回归预测--上证指数开盘指数变化趋势和变化空间预测第16章自组织竞争网络在模式分类中的应用--患者癌症发病预测第17章SOM神经网络的数据分类--柴油机故障诊断第18章Elman神经网络的数据预测--电力负荷预测模型研究第19章概率神经网络的分类预测--基于PNN的变压器故障诊断第20章神经网络变量筛选--基于BP的神经网络变量筛选第21章LVQ神经网络的分类--乳腺肿瘤诊断第22章LVQ神经网络的预测--人脸朝向识别第23章小波神经网络的时间序列预测--短时交通流量预测第24章模糊神经网络的预测算法--嘉陵江水质评价第25章广义神经网络的聚类算法--网络入侵聚类第26章粒子群优化算法的寻优算法--非线性函数极值寻优第27章遗传算法优化计算--建模自变量降维第28章基于灰色神经网络的预测算法研究--订单需求预测第29章基于Kohonen网络的聚类算法--网络入侵聚类第30章神经网络GUI的实现--基于GUI的神经网络拟合、模式识别、聚类
2021/6/17 23:08:54 61.64MB matlab
1
本书以作者在清华大学讲授“小波分析及其工程应用”课程的讲义为基础,深入浅出地阐述了小波的基本理论及其应用技术。
在努力保持小波理论数学严谨性的同时,着力从工程技术角度阐述小波技术及其应用。
旨在突破小波分析的数学障碍,显现其实用的本质。
让小波分析方法和傅里叶分析一样,成为一种基础的、普及的、容易被广大读者掌握和应用的数学工具。
主要内容包括:离散小波的构造,离散小波变换、快速实现算法及其在图像压缩和信号去噪中的应用;
连续小波变换及其局部化时频分析技术;
二进小波变换、快速算法及其在信号奇异性检测、信号表示、图像多尺度边缘提取和信号去噪中的应用;
小波包变换及其在信号去噪、特征提取和非平稳信号毛病诊断等领域中的应用;
区间上的B样条半正交小波及其在曲线多分辨表示和编辑中的应用。
  本书可以作为大学本科高年级和研究生的“小波分析及其应用”课程的教材,也可以供从事相关领域研究与应用的专业人士作为参考。
2020/6/10 12:04:19 8.38MB 小波
1
本书系统论述了开关变换器建模与控制方面的基本原理、基本方法、基本仿真技术以及实用设计方法。
主要内容有:连续导电模式(CCM)下开关变换器建模;
断续导电模式(DCM)下开关变换器建模;
开关调理系统的基础知识;
电压控制型开关调理系统;
平均电流控制型开关调理系统;
峰值电流控制型开关调理系统;
开关变换器的仿真技术;
谐振变换器建模。
2017/9/22 20:41:11 9.07MB 建模
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡