标准化-数据开发规范文档,次要包含层级调用规范、命名规范、etl开发规范、清洗规范、加密脱敏规范、迭代规范等
2021/11/21 19:39:09 266KB 代码规范
1
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
通过新一代高级语言Julia实现标准粒子群算法,代码简约,注释全,可拓展性强可直接用于求解无约束工程优化问题,也可基于此代码进行算法学术改进,算法应用拓展输入:决策变量数,种群规模,粒子群算法参数,最大迭代次数输出:最优解,最优适应度,测试问题三维描述图,动态粒子群更迭图,收敛迭代图
2016/7/18 17:33:03 4KB 粒子群算法 Julia
1
Matlab代码sqrt矩阵平方根的硬件实现使用VerilogFPGA的矩阵平方根作者:钱江恒日期:2018年9月25日版本:2.0MATLAB文件:一种。
软体:MATLABR2018aVerilog文件:一种。
平台:AlteraDE2i-150FPGA板b。
模仿:AlteraModelsimC。
软体:Quartus13.0sp1该存储库负责使用有限状态机在硬件平台中实现矩阵平方根。
为了验证硬件执行的结果,使用了MATLAB代码,如在[Matrix_Square_Root.m]中所示。
涉及两种迭代方法,包括:【Mat_SQRT_Meini.v】:Meini方法,基于循环约简算法(CR)。
【Mat_SQRT_DB.v】:基于矩阵符号函数迭代的DenmanandBeavers(DB)方法。
可以参考:B.Iannazzo,“关于计算矩阵平方根的注释”,Calcolo,第1期。
40,No.4,pp.273-283,2003。
2015/5/12 12:20:48 161KB 系统开源
1
研究表明,圈养的麻雀存在两种不同类型:发现者和加入者。
发现者在种群中负责寻找食物并为整个麻雀种群提供寻食区域和方向,而加入者则是利用发现者来获取食物。
在生活中我们仔细观察会发现,当群体中有麻雀发现周围有捕食者时,此时群体中一个或多个个体会发出啁啾声,一旦发出这样的声音整个种群就会立即躲避危险,进而飞到其它的安全区域进行寻食。
这样的麻雀被称为警觉者。
麻雀搜索算法就是利用麻雀的这种生物特性进行迭代寻优的优化算法。
本资源包含以下三部分内容:1.麻雀搜索算法的基本原理(两篇参考文献),非常适合用来学习。
2.麻雀搜索算法的matlab代码,注释详细,结构清晰。
3.五个群智能优化算法常用的测试函数。
2022/10/3 20:40:29 4.33MB 麻雀搜索算法 智能优化算法 SSA matlab
1
jdemetra-helloJDemetra+入门教程该项目包含有关JDemetra+(算法内核)次要概念的大量示例。
在文档“JD+_training.docx”中给出了更详细的解释。
本教程包括以下示例:HelloDemetra1:创建时间序列HelloDemetra2:使用TsDataCollectorHelloDemetra3:使用数据块HelloDemetra4:关于数据块和时间序列的描述性统计HelloDemetra5:时间序列上的迭代器(按年份,按时期)HelloDemetra6:时间序列的基本操作;
表格的使用HelloDemetra7:链接(高级)HelloDemetra8:通过Denton/Cholette进行基准测试HelloDemetra9:离群值检测(类似恐怖)HelloDemetra10:使用Tramo-Sea
2020/1/10 16:04:48 1.32MB Java
1
对于研一同学,数值计算的编程大作业是不可避免的一项任务。
本资源包含以下6个大作业的具体数学原理、实验结论和matlab程序,每一步matlab程序本人都尽做大程度进行标注,不懂的地方可以私信我实验一:利用拉格朗日的插值多项式的振荡景象(等距节点、随机节点、分段二次插值、切比雪夫多项式零点)实验二:最小二乘曲线拟合(直线、抛物线进行最小二乘拟合及验证)实验三:数值积分(变步长复化梯形公式、变步长复化辛普森、龙贝格法)实验四:线性方程组数值求解(Cholesky分解、LU分解、Jacobi迭代法、Gauss-Seidel迭代法)实验五:非线性方程求根(二分法、Newton法、弦截法)实验六:常微分初值问题数值解法(改进欧拉法、经典四阶龙格库塔法)
2020/6/10 11:04:34 6.84MB matlab 数值计算 研究生大作业
1
用MATLAB编写,4个基站的基于TDOA的Chan-Taylor混合加权算法定位。
最普通的Chan-Taylor算法,将Chan算法计算出来的估计值作为Taylor级数展开法的迭代初始值带入,之后合理设置Chan算法和Taylor级数展开法的加权系数来提高精度。
采取循环采样5000次,基站位置,标签节点位置,系统噪声标准差都已经预设置好,可以根据要求本人修改。
本代码使用的衡量指标是累积分布函数CDF,也可以本人改成均方误差RMSE。
下载后可以直接运行。
可以用于TDOA定位算法的改进或者比较或者UWB定位都可以。
2016/11/11 2:16:23 2KB 混合加权算法
1
论文研究-基于随机活动工期的资源约束项目鲁棒性调度优化.pdf, ?项目进度计划的鲁棒性对于不确定条件下项目的顺利实施具有重要影响.作者研究具有随机活动工期的资源约束项目鲁棒性调度问题,目标是在可更新资源和项目工期约束下安排活动的开始时间,以实现项目进度计划鲁棒性的最大化.首先对所研究问题进行界定并用一个示例对其进行说明.随后构建问题的优化模型,设计禁忌搜索、多重迭代和随机生成三种启发式算法.最初在随机生成的标准算例集合上对算法进行测试,分析项目活动数、项目工期和资源强度等参数对算法绩效的影响,并用一个算例对研究进行说明,得到如下结论:禁忌搜索的满意解质量明显高于其他两种算法;当资源强度或项目工期增大时,平均目标函数值上升,禁忌搜索的求解优势增强.研究结果可为不确定条件下项目进度计划的制定提供决策支持.
2021/5/18 13:51:48 970KB 论文研究
1
一维弹塑性本构程序入门,包括公式推导,和伪代码给出,涉及到牛顿拉弗逊迭代,几种硬化模型,我觉得对写uamt来说协助非常大,虽然说这个不是umat教程,但是绝对值得一看,非常棒的入门手册,新手入门很容易,
2015/7/5 18:41:21 250KB 弹塑性 umat 本构方程
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡