力扣做题笔记

1. nums.pop(nums[right]) 用法错误

在 JavaScript 中,Array.prototype.pop() 方法是用于移除数组中的最后一个元素,并返回被移除的那个元素。它不接受参数作为要移除元素的值,而是直接移除数组末尾的元素。

正确的做法应该是先获取要移除的索引,然后使用该索引来移除元素。在这里,你想要移除的应该是索引为 right 的元素,正确写法应该是 nums.pop()(这样会移除最后一个元素,在当前循环逻辑下符合需求)或者 nums.splice(right, 1)(明确指定要移除索引为 right 的那个元素)。

2. nums.shift(nums[left]) 用法错误

类似地,Array.prototype.shift() 方法用于移除数组的第一个元素,并返回被移除的元素。它同样不接受参数作为要移除元素的值,而是直接移除数组开头的元素。

正确的做法是,如果要移除索引为 left 的元素,可以使用 nums.splice(left, 1)

关于输出结果错误的原因

由于代码中存在上述错误的数组操作方法调用,导致数组 nums 的元素移除操作没有按照预期进行,从而使得后续计算平均值的逻辑也出现了偏差。

在正确的代码中,经过修正数组元素的移除操作后,循环应该能正确地从排序后的数组两端选取元素计算平均值,并最终得到正确的最小平均值。

以下是修正后的代码示例:

相关推荐
摇滚侠1 分钟前
npm 设置了阿里云镜像,然后全局安装了 pnpm,pnpm 还需要设置阿里云镜像吗
前端·阿里云·npm
星火开发设计1 小时前
枚举类 enum class:强类型枚举的优势
linux·开发语言·c++·学习·算法·知识
程序员清洒6 小时前
Flutter for OpenHarmony:GridView — 网格布局实现
android·前端·学习·flutter·华为
VX:Fegn08956 小时前
计算机毕业设计|基于ssm + vue超市管理系统(源码+数据库+文档)
前端·数据库·vue.js·spring boot·后端·课程设计
喜欢吃燃面6 小时前
Linux:环境变量
linux·开发语言·学习
0思必得06 小时前
[Web自动化] 反爬虫
前端·爬虫·python·selenium·自动化
徐徐同学6 小时前
cpolar为IT-Tools 解锁公网访问,远程开发再也不卡壳
java·开发语言·分布式
LawrenceLan6 小时前
Flutter 零基础入门(二十六):StatefulWidget 与状态更新 setState
开发语言·前端·flutter·dart
m0_748229997 小时前
Laravel8.X核心功能全解析
开发语言·数据库·php
秋秋小事7 小时前
TypeScript 模版字面量与类型操作
前端·typescript