对即将找工作的大学生,研究生都爱刷leetcode的题目,但是刚刚接受无法适从,或是一时半会儿想不到解法,没关系,leetcode题解PDF可一带你慢慢了解思路过程。
目录3.4Addbinary615.1.5BinaryTreeLevelOr-3.5LongestPalindromicSubstring.62dertraversalil3.6RegularExpressionMatching665.1.6BinaryTreeZigzag3.7WildcardMatching67LevelOrdertraversal.963.8LongestCommonPrefix5.1.7RecoverBinarySearch3.9ValidNumber70Tree983.10Integertoroman725.1.8SameTree3.11RomantoInteger5.1.9SymmetricTree1013.12CountandSay745.1.10BalancedBinaryTree..1023.13Anagrams755.1.11FlattenBinaryTreeto3.14SimplifyPath76LinkedList1033.15LengthofLastWord775.1.12PopulatingNextRightPointersineachnodeii105第4章栈和队列7952二叉树的构建1074.1栈795.2.1ConstructBinaryTree4ValidParentheses79fromPreorderandIn4.1.2LongestvalidParenorderTraversatheses805.2.2ConstructBinaryTree4.1.3LargestRectangleinfromInorderandposHistogram82torderTraversal1084.14Evaluatereversepol-53二叉查找树109ishnotation845.3.1UniqueBinarySearch4,2队列85Trees5.3.2UniqueBinarySearch第5章树86Treesli.1105.1二叉树的遍历865.3.3ValidateBinarySearch5.1.1BinaryTreePreorderTreeTraversal865.3.4ConvertSortedarrayto5.1.2BinaryTreeInorderBinarySearchTreel12Traversal885.3.5ConvertSortedListto5.1.3BinaryTreePostorderBinarysearchtree113Traversal9054二叉树的递归1155.1.4BinaryTreeLevelOr5.4.1MinimumDepthofBidertraversalnarylree115目录5.4.2MaximumDepthofBi8.32重新实现nextpermunaryTree116tation1425.4.3PathSum117833递归.1435.44PathSumil1188.4PermutationsII1445.4.5BinaryTreeMaximum8.4.1nextpermutation...144PathSuum119842重新实现nextpermu5.4.6PopulatingNextRighttation144Pointersineachnode12084.3递归1445.4.7SumRoottoLeafNum8.5Combinations146bers122851递归146852迭代147第6章排序1238.6LetterCombinationsofaphone6.1MergeSortedArray123umber1476.2MergeTwoSortedLists12486.1递归1486.3MergekSortedLists124862迭代96.4InsertionSortList125第9章广度优先搜索1506.5Sortlist1269.1WordLadder1506.6FirstMissingPositive1279.2WordLadderil..1526.7SortColors289.3Surroundedregions154第7章查找94小结15613194.1适用场景1567.1Searchforarange131942思考的步骤.1567.2SearchInsertPosition.13294.3代码模板1577.3Searcha2DMatrix133第10章深度优先搜索162第8章暴力枚举法13510.1PalindromePartitioning..1628.1Subsets13510.2UniquePaths1658.1.1递归1350.2.1深搜1658.1.2迭代.13710.22备忘录法.1658.2Subsetsil13810.23动规166821递归1381024数学公式167822迭代.14110.3UniquePathsIl1688.3Permutations14210.3.1备忘录法1688.3.1nextpermutation14210.3.2动规.169目录10.4N-Queens16913.4Maximalrectangle19910.5N-QueensII17213.5BestTimetoBuyandSellStock10.6Restoreipaddresses17320010.7CombinationSum17413.6InterleavingString20110.8CombinationSumIl17513.7ScrambleString20310.9GenerateParentheses.17713.8MinimumPathSum20810.10Sudokusolver17813.9EditDistance21010.11WordSearch.18013.10DecodeWays.21210.12小结18113.11DistinctSubsequences21310.12.1适用场景1813.12WordBreak21410.122思考的步骤1811313WordBreakil21610.12.3代码模板183第14章图21810.12.4深拽与回溯法的区别.18414.1CloneGraph10.12.5深搜与递归的区别..184第15章细节实现题221第11章分治法18515.1ReverseInteger2211.1Pow(x,n)18515.2PalindromeNumber222qrt(x18615.3InsertInterval223第12章贪心法18715.4MergeIntervals22412.1Jumpgame18715.5MinimumWindowSubstring..22512.2JumpgameIl18815.6MultiplyStrings22712.3BestTimetobuyandsellstock19015.7SubstringwithConcatenation12.4BestTimetobuyandsellstock191ofallwords23012.5LongestSubstringWithoutre15.8Pascal,sTrianglepeatingCharacters19215.9PascalsTriangleIl23212.6ContainerwithmostWater.19315.10Spiralmatrix23315.11SpiralmatrixII234第13章动态规划19515.12ZigZagConversion23613.1Triangle19515.13DivideTwoIntegers23713.2MaximumSubarray19615.14TextJustification23813.3PalindromePartitioningII19815.15MaxPointsonaline目录第1章编程技巧在判断两个浮点数a和b是否相等时,不要用a=-b,应该判断二者之差的绝对值fabs(a-b)是否小于某个阈值,例如1e-9。
判断一个整数是否是为奇数,用x%2!=0,不要用x%2==1,因为x可能是负数用char的值作为数组下标(例如,统计字符串中每个字符出现的次数),要考虑到char可能是负数。
有的人考虑到了,先强制转型为unsignedint再用作下标,这仍然是错的。
正确的做法是,先强制转型为unsignedchar,再用作下标。
这涉及C++整型提升的规则,就不详述了。
以下是关于STL使用技巧的,很多条款来自《EffectiⅤveStL》这本书。
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章线性表这类题目考察线性表的操作,例如,数组,单链表,双向链表等。
21数组2.1.1RemoveDuplicatesfromSortedarray描述Givenasortedarray,removetheduplicatesinplacesuchthateachelementappearonlyonceandreturnthenewlengthDonotallocateextraspaceforanotherarray,youmustdothisinplacewithconstantmemoryForexample,GiveninputarrayA=[1,1,2Yourfunctionshouldreturnlength=2,andaisnow[1,2]分析无代码1/LeetCode,RemoveDuplicatesfromSortedArray/时间复杂度0(n),空间复杂度0(1)classSolutiontublicintremoveDuplicates(intA[],intn)tlf(n==oreturnointindex=0:for(inti=1:i<n:i++iif(Alindex!alidA[++index]=Alireturnindex12.1数组代码2//LeetCode,RemoveDuplicatesfromSortedArray//使用STL,时间复杂度0(n),空间复杂度0(1)classSolutionipublicintremoveDuplicates(intA[,intn)treturndistance(A,unique(A,An))代码3/LeetCode,RemoveDuplicatesfromSortedArray/使用STL,时间复杂度0(n),空间复杂度0(1)lassSolutionfublicintremoveDuplicates(intA[],intn)treturnremoveDuplicates(A,A+n,A)-A;template<typenameInIt,typenameoutit>OutItremoveDuplicates(InItfirst,InItlast,OutItoutput)thile(firstlast)i*output++=*firstfirstupper_bound(first,last,*firstreturnoutput相关题目RemoveduplicatesfromSortedArrayIl,见§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(intA[],intn)tlf(n<=2returnnintindex=2for(inti=2:in:1++)if(all]!Alindex-2])ALindex++]=Ali]returnindex;代码2下面是一个更简洁的版本。
上面的代码略长,不过扩展性好一些,例如将occur<2改为ocur<3,就变成了允许重复最多3次。
//LeetCode,RemoveDuplicatesfromSortedArrayII//@author虞航仲(http://weibo.com/u/1666779725)//时间复杂度0(n),空间复杂度0(1)classSolutionipublicintremoveDuplicates(intA[],intn)tmtindex=ofor(intif(i>0&&i<1&&A[i]==A[i-1]&&A[i]==A[i+1])continueAlindex++]=Alireturnindex;相关题目RemoveDuplicatesfromSortedArray,见§2.1.12.1.3SearchinRotatedSortedArray描述Supposeasortedarrayisrotatedatsomepivotunknowntoyoubeforehand
2024/12/7 0:08:16 1.03MB leetcode题解
1
研究生课程雷达专业必备,空时自适应信号处理
2024/12/6 21:55:46 4.59MB 空时 自适应 信号处理
1
桂林电子科技大学2013年硕士研究生入学考试复试试卷考试科目代码:204考试科目名称:通信原理A请注意:答案必须写在答题纸上(写在试卷上无效)。
一、 问答题(每题5分,总共50分)(1) 根据你所学的通信原理知识,请回答下列问题:请画出数字通信系统模型;
简述各个组成部分的主要功能和特点;
回答衡量数字通信系统性能好坏的主要性能指标。
(2) 通信系统的同步需考虑哪些?(3) 调制信道模型用加性干扰和乘性干扰表示信道对于信号传输的影响,根据乘性干扰的不同,信道可分为哪两种?(4) 请写出信道容量的公式,有哪几个主要参数,其相互关系如何?(5) 实际中为了减小码间串扰,需要采用什么措施进行补偿?眼图为直观评价接收信号的质量提供了一种有效的实验方法,它的作用是什么?(6) 二进制的数字调制有那两种基本方式?试比较有效性和可靠性。
(7) 试写出下列英文缩写的中文全称:QAMCDMAOFDMQPSKAWGN。
(8) 模拟信号经过哪几个步骤变成数字信号?其中哪个步骤会带来什么误差?(9) 某数字传输系统的码元速率是1200b/s,接收端在0.5个小时内共收到216个错误码元,试计算该系统的误码率Pe。
(10) 英汉互译:(英译汉)Wedescribedvarioustypesofmodulationmethodsthatmaybeusedtotransmitdigitalinformationthroughacommunicationchannel.Aswehaveobserved,themodulatoratthetransmitterperformsthefunctionofmappingtheinformationsequenceintosignalwaveforms.(汉译英)本章将研究噪声对调制系统可靠性的影响,特别是深入研究各种调制方法的发送信号受到加性高斯白噪声恶化时,最佳接收机的设计和性能特征。
2024/12/6 14:58:40 3.22MB 桂电 考研 复试
1
人工智能课程总结转眼之间,研一的上半学期就要结束了,陪伴了自己一学期的人工智能课也在今天结束了最后的考试。
回顾这半个学期来学习人工智能的感受,确实还是有点可说的东西。
我记得自己第一次听AI这个名字是上大二时一个北航软件学院朋友提起的,他特别想去微软做AI方面的研究,然后他热情的向我介绍了这个领域是多么多么好,当时的自己完全没有印象,只觉得可能和机器人有关,AI的目的就是做出和人类一模一样的机器人。
现在看来自己当初的想法是多么的幼稚可笑。
等到了大三的时候,软件学院正好开设了这门课,我便抱着好奇的心态选了这门课,无奈当时授课老师胡晶晶讲解极其乏味,也没有教材,每节课上课就照着PPT念,完全成了可有可无的课程,在这门课上我学到的唯一的知识点就是可以用遗传算法来求解走迷宫问题,因为那次是老师用一个程序在课堂上进行演示的。
当时觉得挺有意思,可惜自己并没有做进一步的学习,结果第一次上人工智能课就这么草草收场。
如今上了研究生,再次碰到了这门课,我又一次选了,因为我觉得计算机学院的老师讲课和软件学院的老师应该不一样,事实证明我的想法是正确的。
在这门课上我学到了很多的知识,了解到了人工智能原来包含这么多内容,根本不是一个简单的机器人所能概括的,计算机图形学,机器学习,模式识别等这些看起来似乎不相关的东西在都被包含在其中。
尽管上课时间有限而且这门课也比较基础,但老师的讲课却毫不含糊。
说实话,在老师快讲完第三章之前我还一直坐在靠后的位置看不清PPT,后来觉得还是要认真听讲,于是每次都是占前两排的座位,当然这种做法事后证明也是对的,看来有时候一念之差能改变很多。
针对这门课的内容没有什么要说的,个人觉得刘峡壁老师的个人魅力较强,能让学生喜欢听这门课,这一点和林永刚老师极其相似,而大学里面缺少的正是这样的老师。
当然,光听课是没用的,课后还需要进行做题,弄不懂的还需要和同学进行讨论,这在做作业时得到了体现。
我觉得人工智能最重要的不是让我们知道这些知识,而是要让我们掌握分析问题,解决问题的方法,正如刘峡壁老师所说“我给你们提供了各种武器,关键看你们遇到问题会不会拿出来用”,而这也是做研究所必须的。
同时,我也在其中体会到了发散思维不局限于某一领域的奇妙之处,例如遗传算法,蚁群算法就是来自生物界,这种跨学科之间的联系已经成为当下的潮流,知识本来就不应该有局限性,联系无处不在。
就写到这里吧,如今我知道了AI无处不在,而且我在以后的学习阶段中会不断接触到AI。
记得之前看过很多AI题材的电影,比如《我,机器人》,《黑客帝国》等等,真希望自己能在有生之年看到这些电影中所展现出来的AI成为现实,人类也一定会因为AI而不断进步。
2024/11/30 8:53:29 114.46MB 人工智能 AI 课件 作业题
1
网络安全企业服务商业计划书白亚菁首都经济贸易大学国际贸易专业研究生,2002年加入北京迎福时代数码科技有限公司,副总经理。
在职期间负责公司大客户销售工作,业绩突出连续数年带领团队位列中央政府采购服务器全国销量冠军。
2024/11/27 6:08:39 2.21MB 网络安全
1
浙江理工大学2017-2019年历年研究生入学考试试卷,代码:950
2024/11/22 2:09:11 937KB 卷积神经网络
1
著者:魏巍;
出版社:国防工业出版社;
页数:462页;
出版年:2004年;
书评:本书基于MATLAB6.5正式版,为读者提供了使用MATLAB的实践性指导。
本书主要介绍了MATLAB中与控制工程相关的6个基础工具箱:系统辨识工具箱、控制系统工具箱、鲁棒控制工具箱、模型预测控制工具箱、模糊逻辑工具箱和非线性控制设计模块,同时提供了MATLAB中的一些基础知识。
在讲解6个工具箱的过程中,本书还讲解了一些工程应用方面的背景知识,并对每个函数的功能、语法和参数做了详细的说明,对许多重要的函数都给出了具体的示例程序。
本书可以作为高等院校控制工程专业本科生、研究生教材使用,也可作为广大科研工程技术人员的参考用书。
2024/11/21 11:11:48 23.71MB MATLAB 控制工程 工具箱 技术手册
1
数学专业,研究生攻读代数方向的同学的基础课程,需要考博的同学也会需要
2024/11/16 17:54:11 11.24MB
1
本书是自适应信号处理领域的一本经典教材。
全书共17章,系统全面、深入浅出地讲述了自适应信号处理的基本理论与方法,充分反映了近年来该领域的新理论、新技术和新应用。
内容包括:自适应LMS横向滤波器、自适应格型滤波器、自适应递归滤波器、频域和子带自适应滤波器、盲目适应滤波器、神经网络非线性自适应滤波器等及其在通信与信息系统中的应用。
全书取材新颖、内容丰富、概念清析、阐述明了,适合于通信与电子信息类相关专业的高年级本科生、研究生、教师及工程技术人员阅读。
2024/11/12 17:19:42 841KB 自适应 滤波器 答案 代码
1
本书系统的介绍了分布式流域水文模型的理论、方法和实例。
包括:水文循环中的各个物理过程的数学模拟;
数字高程模型;
流域地貌指数的提取与分析;
数字河网的提取;
基于数字高程模型的流域等流时线的推求;
TOPMODEL;
半分布式月水量平衡模型;
TOPKAPI模型;
MIKESHE模型,SHETRAN模型;
DHSVM模型;
ARC/EGMO模型。
本书适合于水利、地理、气象、国土资源等领域的广大科技工作者、工程技术人员参考使用,也可作为高行装院校高年级本科生和研究生的教学参考书。
目录前言第一章绪论第一节分布式流域水文模型第二节目的和全书结构第二章水文时空变化过程模拟基础第一节降雨空间分析方法第二节土壤水运动过程第三节下渗第四节蒸发与散发第五节融雪第六节流域汇流单位线第七节河道流量演算第八节流域分布式汇流演算第三章数字高程模型与地貌指数第一节数字高程模型的数据来源第二节数据采集方法第三节流域地貌指数提取第四节流域地貌指数的水文物理意义第五节温度指数的空间分布分析第六节河网水的生成第四章TOPMODEL第一节TOPMODEL第二节流域降雨-径流关系模拟应用第三节土壤导水率与缺水深函数关系研究第四节结论与讨论第五章基于DEM的流域等流时线和分布式水文模型第一节基于DEM的流域等流时线第二节基于DEM的分布式水文模型第六章半分布式月水量平稀模型第一节月水量平衡模型及其比较研究第二节两参数月水量平衡模型第三节半分布式月水量平衡模型第四节气侯变化对水文水资源的影响评价第七章TOPKAPI模型第一节概述第二节分布式OPKAPI模型第三节集总式OPKAPI模型第四节应用举例第五节结论和展望第八章MIKESHE模型第一节概述第二节水流运动模块第三节平移扩散模块第四节MIKESHE应用情况第五节存在的问題和研究展望第九章SHETRAN模型第一节概述第二节研究进展和应用第三节模型研究展望第十章DHSVM模型第一节概述第二节模型物理过程及数学公式第三节模型评价及应用第四节结论第十一章ARC/EGMO模型第一节概述第二节ARC/EGMO的结构设计第三节空间分解和参数估计第四节模型物理过程及数学公式第五节ARC/EGMO应用的数据处理第六节SAALE流域应用实例第七节结论和展望
2024/11/11 2:21:09 26.72MB 分布式 流域 水文模型 熊立华
1
共 604 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡