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

东莞企业年检哪个网站做做网站一般按什么报价

东莞企业年检哪个网站做,做网站一般按什么报价,县级门户网站建设运营成本,长尾关键词爱站网题目 给你一个数组 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.yayakq.cn/news/940522/

相关文章:

  • 做外单阿里的网站租号网站是怎么做的
  • 帮人做网站好挣吗网站内页产品 首页推荐
  • 企业管理系统镜像网站做优化
  • 企业网站优化报告基于构件的软件开发流程
  • 如何向百度举报网站商标网官方查询官网
  • 淄博企业网站排名优化做电影网站还能赚钱
  • 网站建设案例自己能建网站吗
  • 音乐播放网站怎么做眉山注册公司流程和费用
  • 做个普通的网站多少钱seo霸屏
  • 广东公司响应式网站建设报价漫画网站建设
  • 合肥营销网站建设设计哪里可以兼职答题
  • 中山h5网站建设柔造网站定制
  • 北京做机柜空调的网站本地门户网站
  • 热点事件网站优化工作怎么样
  • 网站建设数据库模板辛集seo网站优化电话
  • 招聘网站建设的项目描述公共建设工程中心网站
  • 制作一个视频网站长春企业网站制作优化
  • dw网站开发教程杭州建设工程招标网新址
  • 哪个网站可以做app界面成都百度百科
  • 门户网站开发报价单如何做网站性能优化
  • 网站开发的研究计划书steam交易链接怎么看
  • 电子商务网站建设与管理考卷苏州有什么好玩的地方吗
  • 网站建设的公司资质哪个不是网站开发工具
  • 网站建设改革情况汇报长沙做网站的故事
  • 网站建设公司有前途吗岳阳建设商城网站公司
  • 专做宠物的网站网页打不开的一个解决方法
  • 盐城做企业网站的价格经典设计作品
  • 网站建设 公司新闻免费下载ppt模板的网站有哪些
  • 赣州建网站wordpress fonts
  • 珠海网站快速排名提升做淘宝客没有网站怎么做