在不创建新数组的情况下替换数组中元素的值

du7egjpx  于 2021-09-29  发布在  Java
关注(0)|答案(0)|浏览(194)

我正在学习ruby,一直在通过解决代码战和leetcode上的问题进行练习。我在leetcode中遇到了这个问题,它要求我在给定一个数组和一个值的情况下,通过删除数组中给定值的匹配项来修改数组。很简单!我能够解决它-但是,这件奇怪的事情发生了,我不知道为什么!这是我的密码:

def remove_element(nums, val)
  nums.each_with_index do |num, index|
      if num == val
          nums[index] = nil
      end
  end
    nums.compact!
    nums.length
end

您可以在这里看到,在第4行中,我编写了“nums[index]=nil”,这对我来说非常有效。然而,在最长的一段时间里,我试图通过编写“num=nil”来解决这个挑战。对我来说没有意义的是,为什么“nums[index]”有效而不是“num”?他们不是指同一件事吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题