当前位置: 首页 > wzjs >正文

域名怎么和网站绑定湖南建设网塔吊证查询

域名怎么和网站绑定,湖南建设网塔吊证查询,上海专业的seo公司,公司标志图片logojs——记忆函数 2025-06-19 day1 一、记忆函数Ⅰ: 链接:https://leetcode.cn/problems/memoize/?envTypeproblem-list-v2&envIdGR5hbGen (1) 题意:给定一个函数,返回一个记忆版的函数,其中你只会包含三个可能输…

js——记忆函数

2025-06-19
day1

一、记忆函数Ⅰ:

链接:https://leetcode.cn/problems/memoize/?envType=problem-list-v2&envId=GR5hbGen

(1) 题意:给定一个函数,返回一个记忆版的函数,其中你只会包含三个可能输入的函数,sum(a, b) { return a + b};fib(n) = fib(n - 1) + fib(n - 2);fac(n) = n * fac(n - 1);最终希望每次相同的参数都缓存下来。
(2) 题解:可以动态开点,去存map套map,因为三个函数都有不可能为undefined的性质,所以我们可以以undefined为判断条件

code:

function memoize(fn) {let mp = new Map()  function setFn(L, v) {let tmp = mp for(let i = 0; i < L.length; ++ i ) {if(i < L.length - 1) {if(!tmp.get(L[i])) tmp.set(L[i], new Map())tmp = tmp.get(L[i])   continue }// console.log(tmp)tmp.set(L[i], v) }}function get(L) {let tmp = mpfor(let i = 0; i < L.length; ++ i ) {if(tmp.get(L[i]) !== undefined) {tmp = tmp.get(L[i]) }else {return undefined}}return tmp }return function(...args) {const res = get(args) if(res != undefined) return resconst aim = fn(...args)setFn(args, aim) return aim }
}
/** * let callCount = 0;* const memoizedFn = memoize(function (a, b) {*	 callCount += 1;*   return a + b;* })* memoizedFn(2, 3) // 5* memoizedFn(2, 3) // 5* console.log(callCount) // 1 */

二、记忆函数Ⅱ:升级版本,需要适用于所有可能的函数

链接: https://leetcode.cn/problems/memoize-ii/

题解:这里我们可以考虑参数,需要考虑的是有些函数[1, 1, 1], [1], [1, 1]三种不同的参数可以算出不同的值,所以上面的方案已经不适用了,我们可以从参数的特征下手,可以发现参数列表的长度是区分它们的关键,所以我们在用set和get的时候,最前面加入一个参数列表的长度。
还有一个很重要的就是,函数可能会返回undefined,null之类的东西,所以我们需要多记录一个map,来确定我们是否已经开点了。

code:

/*** @param {Function} fn* @return {Function}*/
function memoize(fn) {let mp = new Map()  let st = new Map() function setFn(L, v) {let tmp = mp, stp = st for(let i = 0; i < L.length; ++ i ) {if(i < L.length - 1) {if(!stp.get(L[i])) {tmp.set(L[i], new Map())stp.set(L[i], new Map()) }tmp = tmp.get(L[i])   stp = stp.get(L[i]) continue }// console.log(tmp)tmp.set(L[i], v) stp.set(L[i], true) }}function get(L) {let tmp = mplet stp = st for(let i = 0; i < L.length; ++ i ) {if(stp.get(L[i])) {tmp = tmp.get(L[i])stp = stp.get(L[i])  }else {return "无解"}}return tmp }return function(...args) {const cs = [args.length]cs.push(...args) const res = get(cs) if(res != "无解") return resconst aim = fn(...args)setFn(cs, aim)  return aim }
}/** * let callCount = 0;* const memoizedFn = memoize(function (a, b) {*	 callCount += 1;*   return a + b;* })* memoizedFn(2, 3) // 5* memoizedFn(2, 3) // 5* console.log(callCount) // 1 */
http://www.dtcms.com/wzjs/578820.html

相关文章:

  • 外贸在线网站建站租车行网站模版
  • 鞍山做网站排名网店网站技术方案
  • 推广网站设计推广方案网络公司什么意思
  • 个人购物网站备案制作wordpress模板教程
  • 婚庆网站怎么设计模板广州抖音seo价格
  • 著名设计师网站有经验的郑州网站建设
  • wordpress全站伪静态南沙网站开发
  • 沧州兼职网站建设WordPress如何去掉文章时间
  • 公主岭网站开发北京终端区优化
  • 长沙网站排名优化搜索引擎优化的五个方面
  • 网站源码绑定域名网站建设的五类成员
  • 太原网站建设 网站制作深圳网站制作建设服务公司
  • 收费下载网站cms网页制作软件是应用软件吗
  • 网站一键提交做国外网站选择vps
  • 一学一做腾讯视频网站百度收录批量查询工具
  • 做营销型网站要多少钱展厅设计ppt优秀案例分析
  • 网站做信息流上海大公司有哪些
  • 自学网站制作教程WordPress中设置域名的数据库在哪
  • 网站流量做那些好wordpress章节分页
  • 长沙精品网站建设公司什么是营销型网站呢
  • 免费在线观看电视剧的网站舟山城乡建设部网站首页
  • 怎样用虚拟空间做网站wordpress收集
  • 湖北工程建设总承包有限公司网站现在注册公司好注册吗
  • 绵阳公司商务网站制作恩施网站设计
  • 2018年网站开发语言四川工程造价信息网官网
  • 黄山做网站公司南宁网页设计培训学校
  • 书写网站建设策划书交通建设网站
  • 电商网站的建设与安全建设企业展示网站
  • 如何设置企业网站模板网点地址信息错误
  • 北京网站设计公司yx成都柚米科技15网站开发经理招聘