
算法
Homyee King
这个作者很懒,什么都没留下…
展开
-
二维数组元素的组合
var arr = [ ['a', 'b'], ['c', 'd'], ['e', 'f']]function getArrayByArrays(arrays) { var arr = [""]; for (var i = 0; i < arrays.length; i++) { arr = getValuesByArray(arr, arrays[i]); } return arr;}function getV原创 2020-07-09 17:48:31 · 512 阅读 · 0 评论 -
js 二维数组去重
一维数组肯定用ES6语法 Set来进行去重,当我用到二维数组上的时候,居然不灵。于是我就谷歌了一下,发现了一个用哈希思想的去重方法,分享给大家。 function Deduplicate() { let tmp = [ [1, 1, 2], [1, 1, 2], [3, 4, 5] ]; ...原创 2020-04-05 18:50:05 · 983 阅读 · 0 评论 -
五分钟搞定散列(hash)算法思想
问题引入之前在算法复杂度这一章中提到过,散列算法就是典型用空间换取时间的方法。什么时间复杂度、空间复杂度,原来不过如此!具体体现在哪,我们用一个例子来说明。设分别有两个集合,分别有M个和N个元素。问N个元素中每个数是否在是否在M中出现过。一个很直观的想法就是:分别输入两组数据,然后用两个for循环来遍历查找。时间复杂度为O(MN),当N M足够大的时候,显然效率会非常低。所以我们不妨...原创 2020-04-01 21:57:27 · 1794 阅读 · 0 评论 -
什么时间复杂度、空间复杂度,原来不过如此!
很多小伙伴刚学习算法的时候,是不是对如何看一段代码的复杂度很是一头雾水,或者我们根本就不想去了解什么复杂度,只要功能实现就OK了。可是算法算法,就是要精益求精,分秒必争,包括一些算法考试都是有时间和空间要求的,所以掌握如何看算法复杂度这个技能十分必要。而且看完这篇文章你就会发现,计算复杂度原来如此简单原创 2020-04-01 17:44:22 · 183 阅读 · 0 评论 -
C++控制浮点数精度和浮点数的比较
cout<<setiosflags(ios::fixed) << setprecision(2) <<123.456<<endl;//上面的代码就是说 控制输出小数点后面两位,并且会四舍五入//output 123.46原创 2020-04-01 16:05:57 · 1056 阅读 · 0 评论