JS算法练习 11.11
leetcode 2619 数组原型对象的最后一个元素
请你编写一段代码实现一个数组方法,使任何数组都可以调用 array.last() 方法,这个方法将返回数组最后一个元素。如果数组中没有元素,则返回 -1 。
你可以假设数组是 JSON.parse 的输出结果。
示例 1 :
输入:nums = [null, {}, 3] 输出:3 解释:调用 nums.last() 后返回最后一个元素: 3。示例 2 :
输入:nums = [] 输出:-1 解释:因为此数组没有元素,所以应该返回 -1。
太无脑了,下一个
Array.prototype.last = function() {n = this.lengthif(n == 0)return -1else return this[n-1]};
leetcode 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。
var createCounter = function(n) {let count = nreturn function() {return count ++};
};
虽然这道题无脑的要命,但我们还是回顾一下JS的闭包知识。
闭包的含义:如果一个函数访问了此函数的父级及父级以上的作用域变量,那么这个函数就是一个闭包。
来一个JS闭包小练习
判断一下下面代码的输出
var a = 10
function foo(){console.log(a)
}function bar() {var a = 20foo()
}bar()
答案:10
为什么不是20?
因为JavaScript中的作用域是词法作用域,即函数在定义时就确定了它的作用域,而不是在运行时。因此,foo()函数在定义时的上一级作用域是全局作用域,而不是在bar()函数中的局部作用域。在foo()函数中,并没有定义变量a,因此它会向上一级作用域即全局作用域查找。
leetcode 2621 睡眠函数
请你编写一个异步函数,它接收一个正整数参数 millis ,并休眠 millis 毫秒。要求此函数可以解析任何值。
示例 1:
输入:millis = 100 输出:100 解释: 在 100ms 后此异步函数执行完时返回一个 Promise 对象 let t = Date.now(); sleep(100).then(() => {console.log(Date.now() - t); // 100 });示例 2:
输入:millis = 200 输出:200 解释:在 200ms 后函数执行完时返回一个 Promise 对象
async function sleep(millis) {return new Promise((resolve) => {setTimeout(()=> {resolve()}, millis)})
}
复习一下Promise用法吧
function fetchData(i) {return new Promise((resolve, reject) => {// 模拟异步操作setTimeout(() => {const data = 'Hello, world!';// 模拟异步操作成功if(i==1)resolve(data);// 模拟异步操作失败if(i==2)reject(new Error('Failed to fetch data.'));}, 200);});}fetchData(1).then((data) => {console.log(data); // 异步操作成功时执行}).catch((error) => {console.error(error); // 异步操作失败时执行}).finally(() => {console.log('Promise has been resolved or rejected.'); // 无论成功失败都会执行});
相关文章:
JS算法练习 11.11
leetcode 2619 数组原型对象的最后一个元素 请你编写一段代码实现一个数组方法,使任何数组都可以调用 array.last() 方法,这个方法将返回数组最后一个元素。如果数组中没有元素,则返回 -1 。 你可以假设数组是 JSON.parse 的输出结果。 示例…...
50代码审计-PHP无框架项目SQL注入挖掘
代码设计分为有框架和无框架 挖掘技巧:随机挖掘,定点挖掘,批量挖掘(用工具帮助扫描探针,推荐工具:fortify,seay系统)。 1.教学计划: ---审计项目漏洞 Demo->审计思…...
什么是微服务?与分布式又有什么区别?
什么是微服务,我们先从传统的单体结构进行了解,对两者进行对比。 单体结构 单体结构是一种传统的软件架构模式,它将应用程序划分为一组相互依赖的模块和组件。这些模块和组件通常都是构建在同一个平台上的,并且紧密耦合在一起。…...
案例 | 3D可视化工具HOOPS助力SolidWorks edrawings成功引入AR/VR技术
HOOPS中文网慧都科技是HOOPS全套产品中国地区指定授权经销商,提供3D软件开发工具HOOPS售卖、试用、中文试用指导服务、中文技术支持。http://techsoft3d.evget.com/达索系统SolidWorks面临的挑战 达索系统SolidWorks公司开发和销售三维CAD设计软件、分析软件和产品…...
初识Linux:目录路径
目录 提示:以下指令均在Xshell 7 中进行 一、基本指令: 二、文件 文件内容文件属性 三、ls 指令拓展 1、 ls -l : 2、ls -la: 3、ls [目录名] : 4、ls -ld [目录名]: 四、Linux中的文件和…...
抖音小程序开发:探索技术创新的代码之旅
随着抖音小程序的兴起,企业纷纷将目光投向这个充满活力的平台。抖音小程序开发不仅为品牌提供了更广泛的曝光机会,更是技术创新的舞台。本文将带领读者深入探索抖音小程序开发的技术要点,探讨如何通过代码实现个性化、高效的小程序。 1. 小…...
公司注册股东选择几个人合适?
创业初期很多创业者都会选择有注册有限责任公司,有限责任由五十个以下的股东出资设立,每个股东以其所认缴的出资额为限对公司承担有限责任。那么问题来了股东人数选择几个最合适呢,下面上海注册公司网(www.91kaiye.cn)…...
大数据治理——为业务提供持续的、可度量的价值(二)
第二部分:元数据集成体系结构 在明确了元数据管理策略后需要确定实现该管理策略所需的技术体系结构,即元数据集成体系结构。元数据集成体系结构涉及到多个概念,如元模型、元-元模型、公共仓库元模型(CWM)等࿰…...
前端安全方面有哪些攻击方式?
在前端开发中,存在一些常见的安全攻击方式。以下是一些常见的前端安全攻击方式: 1:跨站脚本攻击(XSS): XSS攻击是指攻击者通过在网页中注入恶意脚本,使得用户在浏览器中执行该脚本,…...
linux的文件属性
在使用长格式查看目录信息时,会看到如下的结果。每一行代表对应的文件或者目录的详细信息。从左到右具体含义时文件属性、文件数、所有者、所属的组、文件大小、建立月份、建立日期、建立年份或时间及文件名 [rootmaster lib]# ll total 19260 drwxr-xr-x. 2 root…...
电脑指示灯闪烁,但是无法开机的解决方案
【便携机开机故障】电脑指示灯闪烁,但是无法开机的解决方案 问题描述 设备型号:联想 ThinkPad T14s 故障详情:电脑使用后未关机锁屏合盖后,再次使用时开关机指示灯一直闪烁,但是无法正常开机。 其他尝试方法…...
【电工基础】
电工基础 11.1 简介1.2 电路作用1.3 电路模型1.4 电流定义1.5 电压定义1.6 电动势1.7 电阻元件1.7.1 电阻元件定义1.7.2 电阻原件的特性1.7.31.7.4 1.81.91.10 345 1 1.1 简介 电源外部,正电荷移动的方向是由电源正极向电源负极方向,负电荷移动的方向是…...
【Word自定义配置,超简单,图文并茂】自定义Word中的默认配置,比如标题大小与颜色(参考科研作图配色),正文字体等
▚ 01 自定义样式Styles中的默认标题模板 📢自定义标题的显示效果,如下图所示: 1.1 自定义标题的模板Normal.dotm 1.1.1 选择所需修改的标题 新建一个空白Word文档,依次选择菜单栏的开始Home,样式Styles,…...
常见排序算法之快速排序
快速排序是Hoare于1962年提出的一种二叉树结构的交换排序方法。 基本思想为∶任取待排序元素序列中的某元素作为基准值,按照该排序码将待排序集合分割成两子序列,左子序列中所有元素均小于基准值,右子序列中所有元素均大于基准值,…...
ESP32 C3 smartconfig一键配网报错
AP配网 在调试我的esp32c3的智能配网过程中,发现ap配网使用云智能App是可以正常配置的。 切记用户如果在menu菜单里使能AP配网,默认SSID名字为adh_PK值_MAC后6位。用户可以修改这个apssid的键值,但是要使用云智能app则这个名字的开头必须为ad…...
力扣labuladong——一刷day25
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、力扣528. 按权重随机选择 带权重的随机选择算法 前言 一、力扣528. 按权重随机选择 class Solution {private int[] preSum;private Random rand new Ra…...
从单体到微服务:使用Spring Boot构建事件驱动的Java应用程序
Spring Boot是Pivotal团队设计的一种微服务框架, 基于Spring开发,用于简化新Spring应用的初始搭建及开发过程,提升Spring 开发者的体验。它秉持“约定大于配置”的思想,集成了大量开箱即用的第三方库,支持绝大多数开源…...
WMS配送中心主要业务流程
业务流程图 入库 波次出库 按门店和门店所属送货路线确定出库波次 入库 出库 移库、封仓 门店欠货能要点 1. 日常补货:分拣仓位商品小于当前商品在该位置的补货下限的时候;生成对此进行补货任务;补货完成后确认任务,系统变更库存…...
《LeetCode力扣练习》代码随想录——数组(螺旋矩阵II---Java)
《LeetCode力扣练习》代码随想录——数组(螺旋矩阵II—Java) 刷题思路来源于 代码随想录 59. 螺旋矩阵 II 左闭右开——[x,y) class Solution {public int[][] generateMatrix(int n) {if(n1){return new int[][]{{1}};}int[][] resultnew int[n][n];int…...
计算机毕业设计选题推荐-农产品销售微信小程序/安卓APP-项目实战
✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…...
业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...
MVC 数据库
MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...
微信小程序云开发平台MySQL的连接方式
注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...
Springboot社区养老保险系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,社区养老保险系统小程序被用户普遍使用,为方…...
Python 包管理器 uv 介绍
Python 包管理器 uv 全面介绍 uv 是由 Astral(热门工具 Ruff 的开发者)推出的下一代高性能 Python 包管理器和构建工具,用 Rust 编写。它旨在解决传统工具(如 pip、virtualenv、pip-tools)的性能瓶颈,同时…...
佰力博科技与您探讨热释电测量的几种方法
热释电的测量主要涉及热释电系数的测定,这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中,积分电荷法最为常用,其原理是通过测量在电容器上积累的热释电电荷,从而确定热释电系数…...
C# 表达式和运算符(求值顺序)
求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如,已知表达式3*52,依照子表达式的求值顺序,有两种可能的结果,如图9-3所示。 如果乘法先执行,结果是17。如果5…...
