给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。

不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。

元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。

示例 1:

给定 nums = [3,2,2,3], val = 3,

函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。

你不需要考虑数组中超出新长度后面的元素。
示例 2:

给定 nums = [0,1,2,2,3,0,4,2], val = 2,

函数应该返回新的长度 5, 并且 nums 中的前五个元素为 0, 1, 3, 0, 4。

注意这五个元素可为任意顺序。

你不需要考虑数组中超出新长度后面的元素。
说明:

为什么返回数值是整数,但输出的答案是数组呢?

请注意,输入数组是以“引用”方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。

你可以想象内部操作如下:

// nums 是以“引用”方式传递的。也就是说,不对实参作任何拷贝
int len = removeElement(nums, val);

// 在函数里修改输入数组对于调用者是可见的。
// 根据你的函数返回的长度, 它会打印出数组中该长度范围内的所有元素。
for (int i = 0; i < len; i++) {
    print(nums[i]);
}

提交的代码:

class Solution {

public int removeElement(int[] nums, int val) {

int i,j=nums.length-1,sum=0;

for(i=0;i<nums.length&&i<=j;i++)

{

while(nums[j]==val)

{

if(j==0)

{

sum++;

return nums.length-sum;

}

else

{

sum++;

j--;

}

}

if(nums[i]==val&&i<=j)

{

int t = nums[i];

nums[i] = nums[j];

nums[j] = t;

j--;

sum++;

}

}

return nums.length-sum;

}

}

Leetcode--27. 移除元素相关推荐

  1. lrange是取出所有值并移除么_图解双指针 | LeetCode 27. 移除元素

    题目描述 原题链接:LeetCode 27. 移除元素 给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在 ...

  2. LeetCode 27.移除元素

    原题链接 /** @lc app=leetcode.cn id=27 lang=cpp** [27] 移除元素标签:拷贝覆盖主要思路是遍历数组nums,每次取出的数字变量为num,同时设置一个下标an ...

  3. LeetCode 27 移除元素 题解

    力扣链接:27.移除元素 要求:不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并原地修改输入数组.元素的顺序可以改变.你不需要考虑数组中超出新长度后面的元素. 方法一: 思路:利用双指针,头 ...

  4. LeetCode 27移除元素28实现strStr()29两数相除

    维护幸苦,如有打卡欢迎关注公众号bigsai回复进群,如有帮助欢迎点赞支持! 移除元素 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长 ...

  5. 9. Leetcode 27. 移除元素 (数组-同向双指针-快慢指针)

    给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度.不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组.元素 ...

  6. [leetcode]27.移除元素

    给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度. 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组. ...

  7. LeetCode 27.移除元素 思考分析

    题目 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度. 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数 ...

  8. leetcode 27. 移除元素(双指针)

    给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度. 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组. ...

  9. LeetCode 27.移除元素

    文章目录

  10. LeetCode No.704 二分查找 No.27移除元素

    LeetCode No.704 二分查找 题目描述: 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target  ,写一个函数搜索 nums 中的 target,如果目标值存在 ...

最新文章

  1. 题目1176:树查找
  2. HDU4633(Polya计数)
  3. MySQL--REPALCE INTO操作
  4. 敏捷开发中的测试金字塔(转)
  5. 初中计算机课堂游戏设计方案,初中信息技术教案设计
  6. 万字专栏总结 | 离线强化学习(OfflineRL)总结(原理、数据集、算法、复杂性分析、超参数调优等)...
  7. 很特别的01背包讲解教程.....
  8. Millet谷仓:新型电商势在必行
  9. 关键字深度剖析,集齐所有关键字可召唤神龙?【二】
  10. 无社交,不创业:2017松松兄弟上海聚会剧透
  11. 森林防火三维电子沙盘指挥系统
  12. 无法正常启动0xc0000142的错误
  13. PB 中获取时间的方法
  14. 谈task_struct
  15. [电路]12-回路电流法
  16. 大数据常见应用场景及架构改进
  17. H3CSE路由-IPv6路由协议
  18. Python实例一一更换桌面壁纸
  19. 每日学术速递4.12
  20. 软件工程师头衔的那些事儿

热门文章

  1. LeetCode 985. 查询后的偶数和
  2. 飞思卡尔imx7 html5,i.MX6UL 飞思卡尔即将发布基于ARM Cortex-A7核心的低功耗处理器 i.MX 6UltraLite Processor...
  3. vivox27升级鸿蒙,vivo x27 系统更新好吗?
  4. Flink运行时架构
  5. php实现数字滚动效果,vue如何实现数字滚动增加效果?代码示例
  6. 首个视觉-语言预训练综述来了!
  7. 我的新书《Spring Cloud实战》预告
  8. Hades:移动端静态分析框架
  9. 基于PaddleRec的用户点击率预测
  10. 服务器 | 安装最新版R和Rstudio(3.5.3)