2620. 计数器

2024-01-14 16:12
文章标签 计数器 2620

本文主要是介绍2620. 计数器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

说在前面

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

题目描述

给定一个整型参数 n,请你编写并返回一个 counter 函数。这个 counter 函数最初返回 n,每次调用它时会返回前一个值加 1 的值 ( n , n + 1 , n + 2 ,等等)。

示例 1:

输入:
n = 10 
["call","call","call"]
输出:[10,11,12]
解释:
counter() = 10 // 第一次调用 counter(),返回 n。
counter() = 11 // 返回上次调用的值加 1。
counter() = 12 // 返回上次调用的值加 1。

示例 2:

输入:
n = -2
["call","call","call","call","call"]
输出:[-2,-1,0,1,2]
解释:counter() 最初返回 -2。然后在每个后续调用后增加 1。

提示:

  • -1000 <= n <= 1000
  • 0 <= calls.length <= 1000
  • calls[i] === “call”

解题思路

函数 counter 是一个闭包,它可以访问 createCounter 函数中的局部变量 n。每次调用 counter 函数时,它会返回 n 的当前值,并将 n 的值加一。

示例中给出了如何使用 createCounter 函数创建一个计数器。通过调用 createCounter(10),我们得到一个初始值为 10 的计数器。每次调用 counter(),它会返回计数器的当前值,并将计数器的值增加 1。

按照示例,第一次调用 counter() 将返回 10,第二次调用返回 11,第三次调用返回 12,依此类推。

这种方式可以用于创建具有私有状态的函数,通过闭包来保存局部变量的值,并在每次调用时更新该值。

AC代码

/*** @param {number} n* @return {Function} counter*/
var createCounter = function(n) {return function() {return n++;};
};/** * const counter = createCounter(10)* counter() // 10* counter() // 11* counter() // 12*/

公众号

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

说在后面

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

这篇关于2620. 计数器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/605743

相关文章

SQL2005 性能监视器计数器错误解决方法

【系统环境】 windows 2003 +sql2005 【问题状况】 用户在不正当删除SQL2005后会造成SQL2005 性能监视器计数器错误,如下图 【解决办法】 1、在 “开始” --> “运行”中输入 regedit,开启注册表编辑器,定位到 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVer

激光尘埃粒子计数器内光源选择:半导体激光管OR氦氖激光管?

在选择激光尘埃粒子计数器时,关键考虑因素包括光源类型、测量范围、灵敏度、稳定性、使用寿命以及应用场景等。针对这些因素,我们可以对半导体激光器和氦氖激光器(He-Ne激光器)进行比较,以判断选择哪种激光尘埃粒子计数器更合适。 激光管定义 半导体激光管(激光二极管) 半导体激光管,也被称为激光二极管(Laser Diode),是一种利用半导体PN结将电流转换成光能并产生激

可编程定时计数器8253/8254

在微机应用系统中,定时控制具有重要的作用。经常会有这样的应用要求:一种是要求有一些外部实时时钟,以实现延时控制或定时;另一种是要求能对外部事件计数的计数器。在微机系统中,常采用以下三种方法实现:软件定时,不可编程硬件定时和可编程硬件定时。 可编程定时/计数器的工作原理 定时和计数的本质是相同的,它们都是对一个输入脉冲进行计数,如果输入脉冲的频率一定,则记录一定个数的脉冲,其所需的时间是一定的,

【C++】日期类函数(时间计数器)从无到有实现

欢迎来到Harper·Lee的学习笔记! 博主主页传送门:Harper·Lee的博客主页 个人语录:他强任他强,清风拂山岗! 一、前期准备 1.1 检查构造的日期是否合法 bool Date::CheckDate(){if (_month < 1 || _month > 12|| _day < 1 || _day > GetMonthDay(_year, _mont

Node原子计数器

文章目录 基础AutomicsMutex异常并发 case 非原子正常操作 case 原子 基础 node 并发node通过单线程来处理高并发的请求。 一个事件循环中的执行是可以保证并发安全的,但是也业务操作并发读写一样会有业务的并发问题 在 JavaScript 中,函数总是运行到完成。这意味着如果一个函数正在运行,那么它将完全运行; 只有在这之后,才会调用另一个函数。因

基于layui实现简单的万智牌生命计数器页面

对照手机App“旅法师营地”的万智牌生命计数器窗口(如下图所示),使用layui、jQuery等实现简单的万智牌生命计数器页面。   主要实现的功能如下:   1)点击左右两侧的-1、+1、-5、+5区域更新左右两侧生命值;   2)点击左右两侧的八面、二十面、六面、硬币区域生成左右两侧随机数,模拟掷骰子、掷硬币效果。   还搞不懂上图中的调节局数的上下箭头、中间的刷新按钮是如何布局,暂时就

【Python】Counter类(计数器)

Counter(计数器):用于追踪值的出现次数 Counter类继承dict类,所以它能使用dict类里面的方法   创建一个Counter类 import collectionsobj = collections.Counter('aabbccc')print(obj)#输出:Counter({'c': 3, 'a': 2, 'b': 2}) elements() import

vue页面中有一个计数器接口,需要在打开页面展示数据的时候反复调用该接口刷新数据

在 Vue 页面中,如果你有一个计数器接口,需要在打开页面时反复调用该接口来刷新数据,可以使用以下几种方法来实现这个需求: 方法 1:使用 setInterval 定时器 setInterval 可以在指定的时间间隔内反复调用函数。在 Vue 的生命周期钩子 mounted 中启动计时器,并在组件销毁时清除计时器。 <template><div><p>计数器值:{{ counter }}</

java多线程线程池 —— CountDownLatch线程计数器

ThreadPoolExecutor/ExecutorService:线程池,使用线程池可以复用线程,降低频繁创建线程造成的性能消耗,同时对线程的创建、启动、停止、销毁等操作更简便。 CountDownLatch是在java1.5被引入的,跟它一起被引入的并发工具类还有CyclicBarrier、Semaphore、ConcurrentHashMap和BlockingQueue,它们都存在于jav

解锁C#性能监控:内置性能计数器全解析

标题:解锁C#性能监控:内置性能计数器全解析 摘要 性能计数器是衡量和监控应用程序性能的重要工具。在C#中,.NET框架提供了一套完整的性能计数器类库,使得开发者能够轻松地收集和分析应用程序的运行时数据。本文将详细介绍如何在C#中使用内置的性能计数器,包括性能计数器的分类、如何创建自定义性能计数器、以及如何读取和监控系统和应用程序的性能数据。 1. 性能计数器简介 性能计数器用于测量和监控