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

网站前端设计与制作网络营销成功案例有哪些2022

网站前端设计与制作,网络营销成功案例有哪些2022,工程项目管理咨询公司加盟,wordpress默认账号密码忘记题目 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度…

题目

给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。
不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。
元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。

说明:

为什么返回数值是整数,但输出的答案是数组呢?
请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。
你可以想象内部操作如下:
// nums 是以“引用”方式传递的。也就是说,不对实参作任何拷贝
int len = removeElement(nums, val);
// 在函数里修改输入数组对于调用者是可见的。
// 根据你的函数返回的长度, 它会打印出数组中 该长度范围内 的所有元素。
for (int i = 0; i < len; i++) {
print(nums[i]);
}

示例 1:

输入:nums = [3,2,2,3], val = 3
输出:2, nums = [2,2]
解释:函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。你不需要考虑数组中超出新长度后面的元素。例如,函数返回的新长度为 2 ,而 nums = [2,2,3,3] 或 nums = [2,2,0,0],也会被视作正确答案。

示例 2:

输入:nums = [0,1,2,2,3,0,4,2], val = 2
输出:5, nums = [0,1,4,0,3]
解释:函数应该返回新的长度 5, 并且 nums 中的前五个元素为 0, 1, 3, 0, 4。注意这五个元素可为任意顺序。你不需要考虑数组中超出新长度后面的元素。

分析

题目要求原地移出等于某个值的元素且不使用额外的空间,那我们找到等于该值的元素有多少个,然后用其他元素覆盖不就行了,具体怎么实现呢?上代码:
方法一:
逐个向前覆盖,当找到第一个要覆盖的元素,后面元素在每次循环时向前移动一个,当找到两个要覆盖的元素,后面元素在每次循环时向前移动两个,以此类推
C语言实现

// 时间复杂度:O(n)
// 空间复杂度:O(1)
int removeElement(int* nums, int numsSize, int val){int i;int count=0;for(i=0;i<numsSize;i++){nums[i-count]=nums[i];if(nums[i]==val){count++;}}return numsSize-count;
}

方法二:
其实相当于定义了两个指针,一个指向最前面,一个指向最后面,从前面指针指向的元素开始循环,如果不是要覆盖的元素,前面那个指针前进一格,如果是要覆盖的元素,就跟后面那个指针指向的元素进行交换,交换之后,后面那个指针向后退一格,直到两个指针相遇
C语言实现

// 时间复杂度:O(n)
// 空间复杂度:O(1)
int removeElement(int* nums, int numsSize, int val){int right=numsSize-1;int left=0;while(left<=right){if(nums[left]==val){nums[left]=nums[right];right--;}else{left++;}}return right+1;
}

方法三:
双指针法(快慢指针法): 通过一个快指针和慢指针在一个for循环下完成两个for循环的工作。
快指针:寻找新数组的元素 ,新数组就是不含有目标元素的数组
慢指针:指向更新 新数组下标的位置
c++实现

// 时间复杂度:O(n)
// 空间复杂度:O(1)
class Solution {
public:int removeElement(vector<int>& nums, int val) {int slowIndex = 0;for (int fastIndex = 0; fastIndex < nums.size(); fastIndex++) {if (val != nums[fastIndex]) {nums[slowIndex++] = nums[fastIndex];}}return slowIndex;}
};
http://www.yidumall.com/news/59427.html

相关文章:

  • 做的网站在百度找不到惠州seo推广外包
  • 学生网站建设的总结与评价2023年新闻热点事件
  • 站长工具的网址bittorrentkitty磁力猫
  • 搭建什么网站赚钱seo怎么推广
  • 做私彩网站百度指数的数值代表什么
  • 网站制作怎么做语音搜索框外贸电商平台哪个网站最好
  • 做网站的文案怎么写如何建立网站
  • wordpress 优惠码小小课堂seo自学网
  • 建立网站需要哪些推广方案怎么写模板
  • 制作简易网站搜索引擎优化关键词选择的方法有哪些
  • 什么网站可以学做西餐怎么给自己的公司做网站
  • 网站制作模板过程最好用的磁力搜索神器
  • 自己搭建的ftp怎么做网站百度搜索资源平台官网
  • 做宣传片的网站seo 怎么做到百度首页
  • vs中的网站导航怎么做百度电话
  • 廊坊网站备案网络营销主要有哪些特点
  • 帮传销组织做网站西安seo优化排名
  • 自己做的网站如何让别人看到市场调研报告的基本框架
  • 做淘宝差不多的网站新闻式软文范例
  • 网站谷歌优化怎么做介绍网络营销的短文
  • 网站优化的作用河南it渠道网
  • 网站正在建设中提示页面设计欣赏企业网站排名优化公司
  • 公司网站建appseo专员岗位要求
  • 网站制作咨询网站推广优化流程
  • 计算机网站开发背景软文网站推荐
  • 做旅游网站的论文网站优化方案怎么写
  • 官方网站怎样做搜索引擎
  • 山西网站建设哪家好公司网络推广方案
  • 电脑怎么做服务器 网站种子搜索神器在线搜
  • ps可以做网站动态图怎样建立一个网站