![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
JJWanna
这个作者很懒,什么都没留下…
展开
-
算法-字符串出现的不重复最长长度
字符串出现的不重复最长长度var lengthOfLongestSubstring=function(s){ const arr=[...s] let res=1; let result=arr.reduce((total,cur,i,arr)=>{ if(i==0){ return cur; }else{ if(total.indexOf(cur)<0){ return total+cur }else if(re原创 2020-12-15 09:29:52 · 344 阅读 · 0 评论 -
算法-多种方式实现斐波那契数列
function dabonacci(n){ let num1=1, num2=1, sum; let arr=[1,1]; for(let i=3;i<=n;i++){ sum=num1+num2; num1=num2; num2=sum; arr.push(sum); } return arr;}// 基于es6 Generator实现function * fabonacciG(num){ var a=1,原创 2020-12-15 09:13:46 · 135 阅读 · 0 评论 -
算法-求每一份和尽量相等
有一堆整数,请把他们分成三份,确保每一份和尽量相等(11,42,23,4,5,6,4,5,6,11,23,42,56,78,90)思路:1、求出总和 为406 ,根据需要分成的分数(三份)求出每份的平均数为 135.332、用平均数(135.34)减去本数组中最大的数(90) 等于45.34,然后将45.34 找出当前数组中接近该数字 为42,第一份数字可以确定 135.34 -(90 + 42)= 3.34 ,这个3.34 在本数组内属于最小的数字,所以不能被其他数组代替,确定第一组数字时候,将90原创 2020-12-15 09:10:35 · 1119 阅读 · 1 评论 -
var arr=[[‘A‘,‘B‘],[‘a‘,‘b‘],[1,2]] 求二维数组 的全排列组合结果
var arr=[['A','B'],['a','b'],[1,2]]求二维数组 的全排列组合结果:Aa1,Aa2,Ab1,Ab2,Ba1,Ba2,Bb1,Bb2function foo(arr){ //用于记录初始数组长度,用于将数组前两组已经获取到全排列的数组进行截取标识 var len=arr.length; //当递归操作后,数组长度为1时,直接返回arr[0],只有大于1继续处理 if(len>=2){ //每次只做传入数组的前面两个数组进行全排列组合,即arr原创 2020-12-09 16:01:01 · 471 阅读 · 1 评论