jajaplus / blog

0 stars 0 forks source link

ARTS 第二十周(2019.11.11-2019.11.17) #21

Open jajaplus opened 4 years ago

jajaplus commented 4 years ago

算法

https://leetcode-cn.com/problems/combination-sum-ii/solution/

var combinationSum2 = function(candidates, target) {
    candidates.sort((a,b)=>{return b-a})

   let len =  candidates.length
   let min = candidates[len-1];
   let res=[];
   let path =[];

  function combin(candidates,target,i,path) {
      if(target == 0){
          return res.push(path.slice())
      }

      if(target < min){
          return;
      }

      for(let start =i;start < len ;start++){
          if (candidates[start] === candidates[start-1] && start > i) continue;
          path.push(candidates[start])
          combin(candidates,target-candidates[start],start+1,path)
          path.pop()
      }
  }

    combin(candidates,target,0,path);

    return res;
};

递归要把变量控制在一个function里面,然后在里面定义递归的函数,然后去修改外面的值,递归函数可以修改外部变量,最后返回外部的变量,外部变量包含在一个变量里面,又可以不污染整个函数。

阅读(技术概括)

https://www.freecodecamp.org/news/web-development-2020/ 1.前后端的各项技能的综述 2.选择自己合适的技术学习

技巧(通用组件:功能和配置参数)

配置参数: 1.区分哪些参数是要外部传,哪些是要内部 2.外部参数(配置):可以通过url,可以直接传值,要有优先级,还要设置一个默认值 3.内部参数(状态):用来保存组件运行时产生的状态 功能: 1.通用功能:要有多个选项,但是要有一个默认值 2.还原功能:要有一个可以把组件还原到初始状态的功能,用来还原所有的参数 4.功能组合:根据不同的时间节点进行多个功能的操作(如初始化,更新,卸载)

分享(前端性能优化)

https://www.oschina.net/question/587367_156426 1.减少http请求,利用缓存 2。减少渲染