当前位置: 首页 > wzjs >正文

中国风电商网站建设福永论坛网站建设

中国风电商网站建设,福永论坛网站建设,网站建设个人简历的网页制作,企业展厅效果图1、题目链接 https://leetcode.cn/problems/remove-element/description/ 2、题目描述 移除元素 提示 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。 假设 num…

1、题目链接

https://leetcode.cn/problems/remove-element/description/

2、题目描述

  1. 移除元素
    提示
    给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。

假设 nums 中不等于 val 的元素数量为 k,要通过此题,您需要执行以下操作:

更改 nums 数组,使 nums 的前 k 个元素包含不等于 val 的元素。nums 的其余元素和 nums 的大小并不重要。
返回 k。
用户评测:

评测机将使用以下代码测试您的解决方案:

int[] nums = […]; // 输入数组
int val = …; // 要移除的值
int[] expectedNums = […]; // 长度正确的预期答案。
// 它以不等于 val 的值排序。

int k = removeElement(nums, val); // 调用你的实现

assert k == expectedNums.length;
sort(nums, 0, k); // 排序 nums 的前 k 个元素
for (int i = 0; i < actualLength; i++) {
assert nums[i] == expectedNums[i];
}
如果所有的断言都通过,你的解决方案将会 通过。

示例 1:

输入:nums = [3,2,2,3], val = 3
输出:2, nums = [2,2,,]
解释:你的函数函数应该返回 k = 2, 并且 nums 中的前两个元素均为 2。
你在返回的 k 个元素之外留下了什么并不重要(因此它们并不计入评测)。
示例 2:

输入:nums = [0,1,2,2,3,0,4,2], val = 2
输出:5, nums = [0,1,4,0,3,,,_]
解释:你的函数应该返回 k = 5,并且 nums 中的前五个元素为 0,0,1,3,4。
注意这五个元素可以任意顺序返回。
你在返回的 k 个元素之外留下了什么并不重要(因此它们并不计入评测)。

提示:

0 <= nums.length <= 100
0 <= nums[i] <= 50
0 <= val <= 100

3、题目解析

本题旨在移除数组元素,由于数组是连续的,所以不能直接删除,只能移动,本次采用双指针,用慢指针来构建最终返回的新数组,快指针用于遍历
示例:
输入:nums = [3,2,2,3], val = 3
输出:2, nums = [2,2,,]
先用快指针遍历
当遇到 与目标值不同时,说明可以作为构造新数组的元素(新数组:最终删除掉目标元素的数组),之后slow++,作为下一个要构造元素的坐标
本题:
一轮遍历:slow=0,fast = 0、num[fast]= 3 等于 目标值 继续遍历
二轮遍历:slow=0,fast=1、num[fast]=2 不等于目标值 num[slow] = 2 新数组中元素[2] slow = 1
三轮遍历:slow=1,fast=2、num[fast]=2 不等于目标值 num[slow] = 2 新数组中元素[2,2] slow = 2
四轮遍历:slow=2, fast=3,num[fast]= 3 等于 目标值 继续遍历 发现已经到数组结尾,结束跳出循环
最终返回 slow 刚好是新数组的大小

class Solution {public int removeElement(int[] nums, int val) {//双指针//快指针:用于获取到新数组(//慢指针:用于创建新数组int slow = 0;for(int fast = 0;fast<=nums.length-1;fast++){//如果与目标值不相等则放入新数组//如果相等则继续向下遍历if(nums[fast] != val){nums[slow] = nums[fast];slow++;}}return slow;}
}

4、代码编写
C++

class Solution {
public:int removeElement(vector<int>& nums, int val) {int slow = 0;for (int fast = 0; fast < nums.size(); fast++) {if (nums[fast] != val) {nums[slow++] = nums[fast];}}return slow;}
};

Python

class Solution:def removeElement(self, nums: list[int], val: int) -> int:slow = 0for fast in range(len(nums)):if nums[fast] != val:nums[slow] = nums[fast]slow += 1return slow

JavaScript

var removeElement = function(nums, val) {let slow = 0;for (let fast = 0; fast < nums.length; fast++) {if (nums[fast] !== val) {nums[slow++] = nums[fast];}}return slow;
};

GO

func removeElement(nums []int, val int) int {slow := 0for fast := 0; fast < len(nums); fast++ {if nums[fast] != val {nums[slow] = nums[fast]slow++}}return slow
}
http://www.dtcms.com/wzjs/818464.html

相关文章:

  • 做网站销售好吗网页布局设计类型
  • 无锡微信网站郑州浩方网站建设智联招聘
  • 不懂代码做网站zend搭建wordpress
  • 做阿里巴巴还是做网站好做机械的网站有哪些
  • 宁波北京网站建设四川网站建设哪家好
  • 网站建设 摄影服务陕西省住房和城乡建设厅网站上查询
  • 如何在电脑上建设网站重庆大山建设有限公司网站
  • 做二手车的网站再网站里做商家店铺
  • 聚合页做的比较好的教育网站两网站会员同步
  • 潍坊网站建设网超重庆工程建设信息网站
  • 制作英文网站多少钱长沙网站建设网站推广微信营销
  • 贵阳网站设计模板华强北网站建设设计
  • 网站集约化建设意见和建议wordpress 正在跳转中 请稍等
  • 凡科建站app工程设计公司加盟
  • 用r做简易的网站wordpress主体
  • 阿里有做网站国内漂亮大气的网站
  • 网站营销推广公司宁波比较好的网站公司
  • 成都最好的网站建设石家庄专业制作网站
  • wordpress站点克隆百度官网首页官网
  • 济南住建网站全国个人信息查询系统
  • 网站建设公司架构石狮网站
  • 网站图片尺寸大小途牛网站建设
  • 济南产品网站建设外包广州市花
  • 宜兴淘宝网站建设python制作视频网站开发
  • 哪个网站可以学做包包wordpress 4.3.18漏洞
  • 百度站长工具怎么查排名wordpress 多备份
  • 唐山市住房房和城乡建设厅网站常州网站制作公司
  • 专业的广州微网站建设wordpress下滑显示导航
  • 海外免费网站推广上海建设厅是哪个网站
  • 旅游seo整站优化网页设计分类