当前位置:   article > 正文

力扣:删除有序数组中的重复项(简单)_力扣 数组去重

力扣 数组去重

输入:nums = [0,0,1,1,1,2,2,3,3,4]
输出:5, nums = [0,1,2,3,4]
解释:函数应该返回新的长度 5 , 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4 。不需要考虑数组中超出新长度后面的元素。

解题思路:

1.nums[ i ]原数组 nums [ j ]新数组

2.两层for循环,固定第一个数,用第二个数和第一个数对比,相等则删除splice() , 同时j--,不等则将第一个与第三个相比

3.j-- 为新数组的长度

  1. var removeDuplicates = function (nums) {
  2. for (var i = 0; i<nums.length;i++) {
  3. for (var j = i + 1; j <= nums.length; j++) {
  4. if (nums[i] == nums[j]) {
  5. nums.splice(j, 1)
  6. j--
  7. }
  8. }
  9. }
  10. return nums[j]
  11. };

总结:主要使用for循环和splice(),splice()尤其重要,如果只知道要删除,却不知道怎么用代码表达出来,就我自己说,第一想法用ES6,newState()但力扣不支持,改用for循环,又忘记删除怎么写,这里本人将splice()的方法也总结出来了,需要的小伙伴欢迎查看。

splice( )的用法_前端-rabbit的博客-CSDN博客

这个题没理解太好的小伙伴可以复习一下冒泡排序

冒泡排序(带图解)_前端-rabbit的博客-CSDN博客

--------拜拜啦~~~

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/50559
推荐阅读
相关标签
  

闽ICP备14008679号