CrazyJS,疯狂的JS

sql序列数据补全函数,如xulieBuquan(‘0′,8,’1524′,1) 返回’00001524’,最大支持256位

sql序列数据补全函数,如xulieBuquan('0',8,'1524',1) 返回'00001524',最大支持256位 SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: zj.mender.yang -- Create date: 2017-11-09 -- Description: 序列数据补全,如xulieBuquan('0',8,'1524',1) 返回'00001524',最大支持256位 -- 参数说明:@symbol ,补全符号序列,最大50位 -- @length ,补全后长度,取值范围0-256 -- @oldStr ,待补全内容,最大支持到256位 -- @where ,补全位置,默认为1,补全到前面,为0时补全到后面 -- ========================================== [...]

获取两段日期相交重合的部分

VB  获取两段日期相交重合的部分 有时候很有用,比如工资结算,承包天数计算、租金计算等等。 一个典型的例子是: 某公司出租某设备,每自然月费用为M元,不足一月按天计费。客户A 于s1时间开始租用该设备,于e1时间停止租用该设备。求,n年m月费用是多少? 解:案例难点在于计算收费设备实际使用的时间, 通过时间线分析可知,实际上就是求使用时间段 和 自然月计费时间段的交集(在该月内使用了多长时间) 即:(s1,e1)和(m月首日,m月末日)  集合的交集。 vb 伪代码: dim d1 as DateArea dim d2 as DateArea d1.s=s1 d1.e=e1 d2.s=cdate(#n-m-01#) d2.e=datedadd(d,-1,Date [...]

算法策略的总结

策略是面向问题的,算法是面向实现的。   一、不同算法策略特点小结 1、贪心策略 贪心策略一方面是求解过程比较简单的算法,另一方面它又是对能适用问题的条件要求最严格(即适用范围很小)的算法。 贪心策略解决问题是按一定顺序,在只考虑当前局部信息的情况下,就做出一定的决策,最终得出问题的解。 即:通过局部最优决策能得到全局最优决策 2、递推策略 递推也是由当前问题的逐步解决从而得到整个问题的解,依赖于信息间本身的递推关系,每一步不需要决策参与到算法中,更多用于计算 3、递归策略 递归常常用于分治算法、动态规划算法中。 递归是利用大问题与其子问题间的递推关系来解决问题的。 能采用递归策略的算法一般有 [...]

五大常用算法之五:分支限界法

分支限界法 一、基本描述 类似于回溯法,也是一种在问题的解空间树T上搜索问题解的算法。但在一般情况下,分支限界法与回溯法的求解目标不同。回溯法的求解目标是找出T中满足约束条件的所有解,而分支限界法的求解目标则是找出满足约束条件的一个解,或是在满足约束条件的解中找出使某一目标函数值达到极大或极小的解,即在某种意义下的最优解。    (1)分支搜索算法 所谓“分支”就是采用广度优先的策略,依次搜索E-结点的所有分支,也就是所有相邻结点,抛弃不满足约束条件的结点,其余结点加入活结点表。然后从表中选择一个结点作为下一个E-结点,继续搜索。 选择下一个E-结点的方式不同,则会有几种不同的分支搜索方式。 1)FIFO搜 [...]

五大常用算法之四:回溯法

1、概念       回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。    回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。      许多复杂的,规模较大的问题都可以使用回溯法,有“通用解题方法”的美称。 2、基本思想    在包含问题的所有解的解空间树中,按照深度优先搜索的策略,从根结点出发深度探索解空间树。当探索到某一结点时,要先判断该结点是否包含问题的解,如 [...]

五大常用算法之三:贪心算法

贪心算法 一、基本概念:        所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。      贪心算法没有固定的算法框架,算法设计的关键是贪心策略的选择。必须注意的是,贪心算法不是对所有问题都能得到整体最优解,选择的贪心策略必须具备无后效性,即某个状态以后的过程不会影响以前的状态,只与当前状态有关。     所以对所采用的贪心策略一定要仔细分析其是否满足无后效性。   二、贪心算法的基本思路:     1.建立数学模型来描述问题。     2.把求解的问题分成若干个子问题。     3.对每一子问题求解,得到子问题的局部最优解。 [...]

一、基本概念     动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最 [...]

五大常用算法之一:分治算法

分治算法 一、基本概念 在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快速傅立叶变换)…… 任何一个可以用计算机求解的问题所需的计算时间都与其规模有关。问题的规模越小,越容易直接求解,解题所需的计算时间也越少。例如,对于n个元素的排序问题,当n=1时,不需任何计算。n=2时,只要作一次比较即可排好序。n=3时只要作3次比较即可,…。而当n较大时,问题就不那么容易 [...]