2666. 只允许一次函数调用

这篇具有很好参考价值的文章主要介绍了2666. 只允许一次函数调用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

说在前面

🎈不知道大家对于算法的学习是一个怎样的心态呢?为了面试还是因为兴趣?不管是出于什么原因,算法学习需要持续保持。

题目描述

给定一个函数 fn ,它返回一个新的函数,返回的函数与原始函数完全相同,只不过它确保 fn 最多被调用一次。

  • 第一次调用返回的函数时,它应该返回与 fn 相同的结果。
  • 第一次后的每次调用,它应该返回 undefined 。

解题思路

函数在第一次被调用时会执行fn函数,并将其返回值保存在变量res中。然后,将fn重新赋值为一个空函数,这样在之后再次调用新函数时,fn函数就不会再被执行。

最后,新函数返回之前保存的res值。

这个函数的作用是确保fn函数只能被调用一次。

AC代码

/**
 * @param {Function} fn
 * @return {Function}
 */
var once = function(fn) {
    return function(...args){
        const res = fn(...args);
        fn = ()=>{};
        return res;
    }
};

/**
 * let fn = (a,b,c) => (a + b + c)
 * let onceFn = once(fn)
 *
 * onceFn(1,2,3); // 6
 * onceFn(2,3,6); // returns undefined without calling fn
 */

公众号

关注公众号『前端也能这么有趣』,获取更多有趣内容。

说在后面

🎉 这里是 JYeontu,现在是一名前端工程师,有空会刷刷算法题,平时喜欢打羽毛球 🏸 ,平时也喜欢写些东西,既为自己记录 📋,也希望可以对大家有那么一丢丢的帮助,写的不好望多多谅解 🙇,写错的地方望指出,定会认真改进 😊,偶尔也会在自己的公众号『前端也能这么有趣』发一些比较有趣的文章,有兴趣的也可以关注下。在此谢谢大家的支持,我们下文再见 🙌。文章来源地址https://www.toymoban.com/news/detail-809032.html

到了这里,关于2666. 只允许一次函数调用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • iptables只允许指定IP调用所有端口

            首先需要设置一下允许所有ip访问22端口,要不然ssh就连不上了         当本机允许程序时,可能会访问到本机mysql、redis等数据库,所以需要允许本机ip访问

    2024年02月10日
    浏览(316)
  • docker run:–security-opt seccomp=unconfined选项解析 (安全计算模式Secure Computing Mode,实现系统调用过滤,禁用或允许某些系统调用)

    Docker 提供了许多安全性功能,其中一个重要的是通过Seccomp (Secure Computing Mode)实现系统调用过滤。本文将详细介绍如何使用 --security-opt seccomp=unconfined 选项,并解析其含义。 Docker 的一个主要优势是能够将应用程序及其依赖项隔离起来,使其在单独的容器中运行 1 。但是,这并

    2024年02月04日
    浏览(35)
  • 记一次fegin调用的媒体类型问题

    1.问题:分页查询,分页参数传递不生效 2.开发环境:fegin接口 开发环境:调用接口 3.修改后:fegin接口不变 调用接口 前端媒体类型: 问题解决!!! 4.原因分析: 项目前端默认请求使用的为application/x-www-form-urlencoded,此处fegin使用@RequestBody的为application/json格式,需要统一

    2024年02月12日
    浏览(34)
  • OpenApi接口的一次调用经历(附代码)

    去弄一个api_key:https://platform.openai.com/account/api-keys   先看所有能用的模型: 返回: babbage davinci text-davinci-edit-001 babbage-code-search-code text-similarity-babbage-001 code-davinci-edit-001 text-davinci-001 ada curie-instruct-beta babbage-code-search-text babbage-similarity whisper-1 code-search-babbage-text-001 text-curie-

    2024年02月12日
    浏览(38)
  • 干货!记一次接口调用失败后的排查思路

    特此声明:以下聊天记录为老师和学员的真实沟通记录,仅用于做典型技术问题分享,敏感信息已打码。 VIP学员可以享受永久答疑服务。 2023年2月24日,早上刚到公司,有学员发来问题 :有个http接口调不通 问题截图如下: 这个接口是需要签名加密的,现在接口返回code:1,签

    2024年02月11日
    浏览(36)
  • php 接口请求一次,controller调用了两次。

    这几天开发一个数据导出功能 由于是数据导出,所以有点慢。然后发现一个问题,前端只请求一次,controller却收到了两次请求。而且第二次请求i必定失败 这就悲催了。脑子懵懵的! 由于我这就是个小活儿,于是环境就是使用的nginx+fastcgi 网上搜索了一圈,大多都是说跨域的

    2024年02月06日
    浏览(30)
  • leetcode原题 一次编辑(判定字符串是否只需要一次(或者零次)编辑)

    题目: 字符串有三种编辑操作:插入一个英文字符、删除一个英文字符或者替换一个英文字符。 给定两个字符串,编写一个函数判定它们是否只需要一次(或者零次)编辑。 输入:  first = \\\"pale\\\" second = \\\"ple\\\" 输出: True 解题思路: 本题可以分为以下几种情况来处理: 1. 两个字符串长

    2024年02月13日
    浏览(34)
  • leetcode 1053. 交换一次的先前排列

    给你一个正整数数组 arr(可能存在重复的元素),请你返回可在 一次交换(交换两数字 arr[i] 和 arr[j] 的位置)后得到的、按字典序排列小于 arr 的最大排列。 如果无法这么操作,就请返回原数组 示例 1: 输入:arr = [3,2,1] 输出:[3,1,2] 解释:交换 2 和 1 示例 2: 输入:arr

    2024年02月15日
    浏览(33)
  • leetcode-136. 只出现一次的数字

    题意描述: 给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。 示例: 输入:nums = [2,2,1] 输出:1 输入:nums = [4,

    2024年02月07日
    浏览(32)
  • leetcode之只出现一次的数字

    今天为大家分享的是关于在数组中找到只出现一次数字的系列题目,我将使用c跟Java来实现,希望我的分享能够帮助到大家。 第一道题目是一个数组中只出有一个出现了一次的数字,也就是有一个单身狗。这是题目链接leetcode之只出现一次的数字 题目要求: 给你一个 非空 整

    2023年04月09日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包