You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

LeetCode提交旋转数组(Rotate Array)解答不被识别问题求助

LeetCode 旋转数组提交异常修复方案

核心问题

LeetCode 旋转数组题目要求原地修改输入的nums数组,不需要返回新数组。你当前代码仅生成了新的拼接数组ans,完全没有修改原始传入的nums对象,平台校验时读取的仍是未修改的原数组,因此判定输出错误。

待修复的细节问题

  • 未处理k大于数组长度的边界场景:比如数组长度为7时,k=10和k=3的旋转效果完全一致,需要先对k做取余处理
  • 循环变量i、j未声明,属于隐式全局变量,严格模式下会触发报错
  • 仅打印结果未修改原数组,不符合题目校验规则
  • 你自己写在函数外的全局测试变量k、nums提交时需要删掉,LeetCode会自动传入测试用例参数

修复后的完整代码

var rotate = function (nums, k) {
  // 处理k大于数组长度的边界情况
  k = k % nums.length;
  var FN = [];
  var LN = [];
  // 循环变量加let声明,避免隐式全局
  for (let i = 0; i < nums.length - k; i++) {
    FN.push(nums[i]);
  }

  for (let j = k; j > 0; j--) {
    LN.push(nums[nums.length - j]);
  }

  const ans = [].concat(LN, FN);
  // 原地修改原数组:先清空原数组,再把ans的内容全部塞进去
  nums.length = 0;
  nums.push(...ans);
};

内容的提问来源于stack exchange,提问作者john smith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 03:36:03