
算法
文章平均质量分 66
张子虚
夫水之积也不厚,则其负大舟也无力。
展开
-
编码与进制
Base62编解码研究,从“没有前面那个1,后面多少个0都无意义”说起原创 2022-07-30 03:11:26 · 188 阅读 · 0 评论 -
探讨JS编程语言下的高斯消元法
高斯消元法基本思想通过一系列的加减消元运算,直到得到类似kx=bkx=bkx=b的式子,然后逐一回代求解xxx向量(用初等行变换把增广矩阵转换为行阶梯阵,然后回代求出方程的解)将方程组的增广矩阵A′=(A∣b)A'=(A|b)A′=(A∣b)实施初等行变化为行的最简行,此时该最简行作为增广矩阵对应的方程组与原方程组同解,这样通过解简化的阶梯形矩阵所对应的方程组就求出原方程组的解。步骤消元判断解的情况(可选)回代解的判断判断一无解: 当消元完毕后,发现一行系数都为0,但是常数项不为原创 2020-09-29 01:49:47 · 491 阅读 · 0 评论 -
如果你讨厌一个人,就让它写一个日期范围差值算法吧
如果你讨厌一个人,就让它写一个日期范围差值算法吧引在我负责的应用中,有个功能点是是通过选择的日期范围计算出这个范围的日期的差值(计算时包含最后一天),比如:日期范围为2020-01-01 ~ 2021-02-28,则该日期范围的日期差值是1年2个月。这个功能点初始是其他同事做的,他的计算逻辑是使用getTime语法获取到两个日期的时间戳,拿到相差的毫秒数,一天有86400000毫秒,然后除以这...原创 2020-01-08 15:07:38 · 324 阅读 · 0 评论 -
从KaraTsuba算法谈JS的大数乘法(上)
引之前在某社区看到JKolmogorov 和 Karatsuba 关于乘法算法的故事,遂探索一番,发现其是关于高效大数乘法的算法。众所周知,一般的乘法的时间复杂度是O(n2),而 Karatsuba 提出的算法复杂度仅有O(Nlog23),社区中少有基于JS的算法实现,本文试图从Javascript语言出发谈论大数乘法。正分析所谓大数乘法(Multiplication algorithm)...原创 2019-12-29 23:48:34 · 705 阅读 · 1 评论 -
设计一个简单的[JS]文本摘要算法
简单的JS文本摘要算法。原创 2019-10-29 23:28:36 · 1327 阅读 · 0 评论 -
这题目有毒之干不过codewars的OJ系统(二)
kata<4kyu>Guess the Digits and Expression Description: Give you a multiplication arithmetic expression: ABC * CBA ------- = 39483Each character ...原创 2018-04-27 16:35:51 · 380 阅读 · 0 评论 -
JS排序算法初探(一)
前言排序实现冒泡排序选择排序插入排序归并排序快速排序排序效率结论前言这里是一些JavaScript版本的排序算法的探索,参考了以下文章:Javascript的数据结构与算法(四),分享一个排序可视化页面:用HTML5实现的各种排序算法的动画比较排序实现先定义一个交换函数:function swap (arr, idx1, idx2) { /...原创 2018-04-25 15:07:52 · 341 阅读 · 0 评论 -
FCC参阅笔记之有趣的算法(下)
收银程序 checkCashRegister()描述:设计一个收银程序 checkCashRegister() ,其把购买价格(price)作为第一个参数 , 付款金额 (cash)作为第二个参数, 和收银机中零钱 (cid) 作为第三个参数.cid 是一个二维数组,存着当前可用的找零.当收银机中的钱不够找零时返回字符串 “Insufficient Funds”. 如果正好则返回字符串 “Close原创 2016-11-29 16:56:32 · 1742 阅读 · 0 评论 -
这题目有毒之干不过codewars的OJ系统(一)
题目描述给定一个整数数组和一个求和的数值,函数返回数组中第一对元素求和值等于给定求和值的数组元素,返回形式为数组。 案例:sum_pairs([0, 0, -2, 3], 2)# there are no pairs of values that can be added to produce 2.== None/nil/undefined (Based on the language)su原创 2016-05-21 13:10:05 · 1113 阅读 · 0 评论 -
FCC参阅笔记之有趣的算法(上)
有趣的算法如果给定的字符串是回文,返回true,反之,返回false。function palindrome(str) { str = str.replace(/[^A-Za-z0-9]/g, '').toLowerCase(); var x = str.split(''); var t = x.every(function(v,i){ return v == ...原创 2016-11-20 19:06:22 · 942 阅读 · 0 评论