对即将找工作的大学生,研究生都爱刷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
图像的几何变换包括图像的缩放、平移和旋转。
1.2、图像的正交变换包括图像的傅里叶变换,离散变换。
1.3、将信源分别哈夫曼编码和香龙范诺编码并分别计算信源的熵、平均码长及编码效率。
1
频率计设计1设计要求一、基本部分:1.1被测信号波形为三角波,正弦波,矩形波。
1.2被测信号幅度≥100mv。
1.3被测信号频率位40Hz~1MHz1.4用4位数码管显示字符。
1.5测量误差≤0.5%。
二、发择部分:
2024/11/30 22:35:13 2.61MB 频率计 设计
1
usb2串口驱动(PL2303_Prolific_DriverInstaller_v1.11.0)+串口助手(USR-TCP232-Test-V1.3)
2024/11/30 14:07:11 3.15MB usb2串口 串口助手 CnCom
1
本人国科大学生,这是钟顺时天线理论与技术第二版部分习题解答,仅供参考,不喜勿喷。
包含题号如下:第一次作业1、用Matlab编程画出短振子的立体方向图和主平面极坐标的方向图。
2、任选一组题(1)1.1-11.1-21.2-2(2)1.1-31.2-11.2-3纠正:1.1-1(1.1-3a)改为(1.1-5a)1.1-2(1.1-3b)、(1.1-3c)与(1.1-3e)分别改为(1.1-5b)、(1.1-5c)和(1.1-5e)3、1.2-41.2-51.2-61.2-71.2-8第二次作业1.3-3,1.3-6,1.5-1,1.6-2,1.6-3,1.4-3
2024/11/26 22:38:32 521KB 天线理论 钟顺时 习题解答
1
FMSoft_uniGUI_Complete_Professional_1.90.0.1499完整版(内含破解工具及说明),内含FMSoft_uniGUI_Complete_Professional_1.90.0.1499、FMSoft_uniGUI_Complete_runtime_1.90.0.1499、FMSoft_uniGUI_Documentation_1.90.0.1499、FMSoft_uniGUI_HyperServer_Config_1.90.0.1499、FMSoft_uniGUI_Theme_Pack_1.90.0.1499、Keygen_v1.3_UNIS(您懂得),共6个安装包,整套完整版,内部资料不可多得!
2024/11/23 22:39:12 88.77MB uniGUI
1
1.序言1.1.GStreamer是什么?1.2.谁需要读这个手册?1.3.预备知识1.4.本手册结构2.动机与目标2.1.当前问题2.1.1.大量的代码复制2.1.2.“一个目标”媒体播放器/媒体库2.1.3.没有统一的插件管理机制2.1.4.拙劣的用户感2.1.5.网络透明度的规定2.1.6.与Windows™的产品还存在差距2.2.设计目标2.2.1.结构清晰且威力强大2.2.2.面向对象的编程思想2.2.3.灵活的可扩展性能2.2.4.支持插件以二进制形式发布2.2.5.高性能2.2.6.核心库与插件(core/plugins)分离2.2.7.为多媒体数字信号编解码实验提供一个框架
2024/11/19 8:52:35 477KB GStreamer 应用程序开发手册
1
1.1doublegauss_ch1(double(*f)(double),intn);求积分∫_(-1)^1f(x)dx/√(1-x^2)实现n点Gauss-Chebyeshev积分公式;
返回积分的近似值。
在区间[-1,1]上关于权函数1/√(1-x^2)的正交多项为T_n(x)=cos(narccos(x)),T_n(x)在[-1,1]上的n个根是x_k=cos⁡((2k-1)/2nπ),k=1,…,n.n点Gauss-Chebyeshev积分公式为∫_(-1)^1f(x)dx/√(1-x^2)≈π/n∑_(k=1)^nf(cos⁡((2k-1)/2nπ))1.2doublegauss_ch2(double(*f)(double),intn);求积分∫_(-1)^1√(1-x^2)f(x)dx实现n点Gauss-ChebyeshevII型积分公式;
返回积分的近似值。
在区间[-1,1]上关于权函数√(1-x^2)的正交多项为U_n(x)=sin⁡((n+1)arccos⁡(x))/sin⁡(arccos⁡(x)),U_n(x)在[-1,1]上的n个根是x_k=cos⁡(kπ/(n+1)),k=1,…,n.n点Gauss-ChebyeshevII型积分公式为∫_(-1)^1√(1-x^2)f(x)dx≈π/(n+1)∑_(k=1)^nsin^2(kπ/(n+1))f(cos⁡(kπ/(n+1)))1.3doublecomp_trep(double(*f)(double),doublea,doubleb);求积分∫_a^bf(x)dx函数实现逐次减半法复化梯形公式;
返回积分的近似值。
1.4doubleromberg(double(*f)(double),doublea,doubleb);求积分∫_a^bf(x)dx函数实现Romberg积分法;
返回积分的近似值。
1.5doublegauss_leg_9(double(*f));求积分∫_(-1)^1f(x)dx实现9点Gauss-Legendre求积公式。
使用上面实现的各种求积方法求下面的积分:∫_(-1)^1e^x√(1-x^2)dx(=∫_(-1)^1(xe^x)/√(1-x^2)dx)使用第3,4,5个函数求积分:∫_0^(π/2)sin⁡xdx(=1)
2024/11/17 22:41:35 217KB 北邮 数值 符号计算 数值积分
1
关于MPI、并行计算的总结对比,目录如下:1.并行计算1.1.相关背景1.2.什么是并行计算1.3.主要目的1.4.并行计算与分布式计算1.5.并行的基本条件1.6.主要的并行系统1.6.1.共享内存模型1.6.2.消息传递模型1.6.3.数据并行模型1.6.4.对比分析2.MPI2.1.什么是MPI2.2.MPI的实现2.3.MPI基本函数2.4.MPI功能特点2.5.技术对比分析2.5.1.共享内存模型(以OpenMP为例)2.5.2.分布式内存模型2.6.小结3.问题解释3.1.并行计算和MPI是什么关系?为了实现并行计算,是否使用MPI技术即可实现?3.2.MPI技术原理是什么,即基础设施提供什么样的支持能力?3.3.为了实现并行计算,应用软件需要什么样的特殊设计3.4.什么样的软件需要并行计算4.部分参考资料
2024/11/16 2:14:47 669KB MPI 并行计算 分布式计算
1
第一章绪论  1.1信息、消息和信号  1.2通信、电信及无线电通信  1.3通信系统  1.4通信侦察系统与监测网  1.5无线电监测和通信侦察的主要任务  1.6本书研究内容  第二章噪声  2.1噪声的一般描述  2.2噪声的表示方法  2.3噪声系数  2.4系统的噪声温度  2.5载噪比与信噪比  2.6噪声的一些特性  第三章信号  3.1概述  3.2电信号特性  3.3空间电磁信号的特性  3.4信号的周期平稳特性、运算和网络响应  3.5信号的分割与应用  参考文献  第四章信号电平预测  4.1接收天线的等效电路和接收功率  4.2接收天线特性  4.3传输线与连接器  4.4电平预测  4.5小结  参考文献  第五章超外差接收机  第六章侦察与监测接收机  第七章接收机的几个指标讨论  第八章通信侦察与信号监测功能  第九章测向与定位
2024/11/15 4:21:45 29.12MB 无线电监测 通信 侦察
1
共 407 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡