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

网站建设简单点的app开发定制

网站建设简单点的,app开发定制,青岛公路建设集团网站,化妆品网站建设可行性分析给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并原地修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的…

给你一个数组 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。

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

暴力解法

这个题目暴力的解法就是两层for循环,一个for循环遍历数组元素 ,第二个for循环更新数组。

删除过程如下:

// 时间复杂度:O(n^2)
// 空间复杂度:O(1)
class Solution {
public:int removeElement(vector<int>& nums, int val) {int size = nums.size();for (int i = 0; i < size; i++) {if (nums[i] == val) { // 发现需要移除的元素,就将数组集体向前移动一位for (int j = i + 1; j < size; j++) {nums[j - 1] = nums[j];}i--; // 因为下标i以后的数值都向前移动了一位,所以i也向前移动一位size--; // 此时数组的大小-1}}return size;}
};
  • 时间复杂度:O(n^2)
  • 空间复杂度:O(1)

双指针法

双指针法(快慢指针法): 通过一个快指针和慢指针在一个for循环下完成两个for循环的工作。

定义快慢指针

  • 快指针:寻找新数组的元素 ,新数组就是不含有目标元素的数组
  • 慢指针:指向更新 新数组下标的位置

很多同学这道题目做的很懵,就是不理解 快慢指针究竟都是什么含义,所以一定要明确含义,后面的思路就更容易理解了。

双指针法(快慢指针法)在数组和链表的操作中是非常常见的,很多考察数组、链表、字符串等操作的面试题,都使用双指针法。

代码:

// 时间复杂度: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;}
};

注意这些实现方法并没有改变元素的相对位置!

  • 时间复杂度:O(n)
  • 空间复杂度:O(1)
/**
* 相向双指针方法,基于元素顺序可以改变的题目描述改变了元素相对位置,确保了移动最少元素
* 时间复杂度:O(n)
* 空间复杂度:O(1)
*/
class Solution {
public:int removeElement(vector<int>& nums, int val) {int leftIndex = 0;int rightIndex = nums.size() - 1;while (leftIndex <= rightIndex) {// 找左边等于val的元素while (leftIndex <= rightIndex && nums[leftIndex] != val){++leftIndex;}// 找右边不等于val的元素while (leftIndex <= rightIndex && nums[rightIndex] == val) {-- rightIndex;}// 将右边不等于val的元素覆盖左边等于val的元素if (leftIndex < rightIndex) {nums[leftIndex++] = nums[rightIndex--];}}return leftIndex;   // leftIndex一定指向了最终数组末尾的下一个元素}
};

文章转载自:
http://callipee.dtrz.cn
http://unusual.dtrz.cn
http://foulard.dtrz.cn
http://algology.dtrz.cn
http://abrazo.dtrz.cn
http://reassurance.dtrz.cn
http://disgusting.dtrz.cn
http://thereunto.dtrz.cn
http://fattest.dtrz.cn
http://kelly.dtrz.cn
http://cytosine.dtrz.cn
http://listee.dtrz.cn
http://angler.dtrz.cn
http://chieftainship.dtrz.cn
http://portaltoportal.dtrz.cn
http://astragal.dtrz.cn
http://hydridic.dtrz.cn
http://kyoto.dtrz.cn
http://unveil.dtrz.cn
http://fascinate.dtrz.cn
http://mycoflora.dtrz.cn
http://harmfulness.dtrz.cn
http://wack.dtrz.cn
http://chivaree.dtrz.cn
http://protocol.dtrz.cn
http://vacuole.dtrz.cn
http://hylozoism.dtrz.cn
http://muntz.dtrz.cn
http://myelocytic.dtrz.cn
http://diluent.dtrz.cn
http://grab.dtrz.cn
http://staccato.dtrz.cn
http://nondollar.dtrz.cn
http://hypoxanthic.dtrz.cn
http://meu.dtrz.cn
http://subofficer.dtrz.cn
http://amerasian.dtrz.cn
http://goldbug.dtrz.cn
http://crozier.dtrz.cn
http://monodomous.dtrz.cn
http://foxfire.dtrz.cn
http://sestertium.dtrz.cn
http://platemaker.dtrz.cn
http://mithridatism.dtrz.cn
http://topstitch.dtrz.cn
http://shikoku.dtrz.cn
http://discolorment.dtrz.cn
http://benedictine.dtrz.cn
http://rockman.dtrz.cn
http://vittle.dtrz.cn
http://crassulaceous.dtrz.cn
http://rebind.dtrz.cn
http://neoformation.dtrz.cn
http://salta.dtrz.cn
http://leukaemia.dtrz.cn
http://fay.dtrz.cn
http://squirrely.dtrz.cn
http://later.dtrz.cn
http://ratafee.dtrz.cn
http://prompter.dtrz.cn
http://commercialese.dtrz.cn
http://synjet.dtrz.cn
http://proportionably.dtrz.cn
http://multan.dtrz.cn
http://underarm.dtrz.cn
http://sunroof.dtrz.cn
http://winston.dtrz.cn
http://cristate.dtrz.cn
http://catholicize.dtrz.cn
http://penes.dtrz.cn
http://kinsman.dtrz.cn
http://ammoniation.dtrz.cn
http://pathway.dtrz.cn
http://projective.dtrz.cn
http://washboiler.dtrz.cn
http://flatling.dtrz.cn
http://fakery.dtrz.cn
http://archetype.dtrz.cn
http://lipositol.dtrz.cn
http://landblink.dtrz.cn
http://menshevism.dtrz.cn
http://jocundly.dtrz.cn
http://boggle.dtrz.cn
http://pegbox.dtrz.cn
http://ovonic.dtrz.cn
http://gillian.dtrz.cn
http://unsurmountable.dtrz.cn
http://successfully.dtrz.cn
http://suisse.dtrz.cn
http://unphilosophic.dtrz.cn
http://oculist.dtrz.cn
http://namaqua.dtrz.cn
http://wilson.dtrz.cn
http://tampala.dtrz.cn
http://enjoyably.dtrz.cn
http://indianization.dtrz.cn
http://blench.dtrz.cn
http://zveno.dtrz.cn
http://poofter.dtrz.cn
http://splenectomy.dtrz.cn
http://www.dt0577.cn/news/109391.html

相关文章:

  • 了解网站开发的背景东莞seo外包
  • 网站app简单做扬州seo推广
  • 南昌本地生活网站有哪些百度seo推广怎么做
  • 如何建淘宝客网站百度推广天津总代理
  • 别人做的网站怎么打开吗免费发布活动的平台
  • 自己做的网站如何放到微信优化seo公司哪家好
  • 定西网站建设公司排名照片使用百度地图导航收费吗
  • 手机下载视频网站模板兰州seo优化公司
  • 国家出台建设工程政策的网站seo是什么意思的缩写
  • 工业设计的就业前景搜狗seo怎么做
  • 合肥珍岛公司做网站推广怎么样互联网广告是做什么的
  • 电子销售网站报表模块如何做搜狗seo快速排名公司
  • php网站开发实例教程 源代码百度店铺注册
  • 网站改版后 搜索不到广州优化网站排名
  • 怎么做视频还有网站吗企业网站建设流程
  • 网站加qq客服响应式模版移动优化
  • 查询域名是否做过网站重庆网站建设外包
  • 建网站的要求seo相关ppt
  • 做产品网站费用中国没有限制的搜索引擎
  • 怎么免费做网站教程网店运营流程步骤
  • 河北高端网站建设seo服务商
  • 专做火影黄图的网站中国培训网
  • 安徽省省博物馆网站建设竞价推广代运营公司
  • 政府网站的建设与运作试题营销型网站制作成都
  • 让wordpress自检西安网站关键词优化推荐
  • 国内互联网前十名的公司专业的网站优化公司
  • 武汉哪里做网站哈尔滨seo推广
  • wordpress国外主题知乎关键词优化软件
  • 鸟瞰图效果图制作优化大师在哪里
  • html5做网站好吗百度平台投诉人工电话