力扣做题笔记

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 的元素移除操作没有按照预期进行,从而使得后续计算平均值的逻辑也出现了偏差。

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

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

相关推荐
布莱克605几秒前
单例模式详解:什么是单例模式,它能解决哪些问题?
开发语言·qt·单例模式
爱勇宝2 分钟前
从前端到全栈,我最后学会的是:先做产品
前端·后端
console.log('npc')6 分钟前
Grill-Me 技能使用教程
前端·大模型·产品·skill·需求
charlie11451419110 分钟前
deque、list 与 forward_list:vector 之外的三个选择
开发语言·数据结构·c++·list·开源项目
真空回流焊炉18 分钟前
数字功率芯片真空共晶设备实操教程与要点解析
前端·人工智能
mayaairi26 分钟前
JS DOM属性操作完全指南:内容、样式与自定义属性
开发语言·前端·javascript
avi911130 分钟前
Threejs新版本后glb导出提示.x问题GLTFExporter,替代3dmax
开发语言·前端·javascript·threejs·glb·gltfexporter
qq7621182243 分钟前
windows Qt mingw 编译libzip
开发语言·windows·qt
曹牧1 小时前
Java:Java 数组转 List
java·开发语言·windows
工业一体机老司机1 小时前
Python实现工业一体机OPC-UA通信:从SDK选型到数据采集实战
开发语言·python·单片机