使用C++和双指针算法移除数组中的元素,且原地移除,不使用额外的空间

输入一个数组nums和一个值val,在该数组中,凡是与val相等的元素全部移除,并最终输出该数组,C++代码如下:

#include<iostream>
#include<vector>
#include<ctime>//计算代码所需要的时间
using namespace std;class Solution
{
public:int removeElement(vector<int>& nums, int val){int numsize = nums.size();int fast = 0, slow = 0;for (fast = 0; fast < numsize; fast++){if (nums[fast] != val){nums[slow] = nums[fast];slow++;}}return slow;}
};int main()
{clock_t starttime, endtime;starttime = clock();//计时开始Solution solution;vector<int> v;int x,val;cout << "请输入数组:" << endl;while (cin>>x){v.push_back(x);if (cin.get()=='\n'){break;}}cout << "原数组为:" << endl;for (int i = 0; i < v.size(); i++){cout << v[i] << " ";}cout << endl;cout << "请输入需要移除的值:" << endl;;cin >> val;int slow = solution.removeElement(v,val);cout << "slow的值为:" << slow << endl;v.resize(slow);cout << "最终数组为:" << endl;for (int i = 0; i < v.size(); i++){cout << v[i] << " ";}cout << endl;endtime = clock();//计时结束cout << "运行时间为: " << (double)(endtime - starttime) / CLOCKS_PER_SEC << "s" << endl;system("pause");return 0;
}

注意事项:

       在使用while(cin>>x)循环输入时,一定要把跳出循环的代码写在数组赋值代码的后面,否则就无法将所有数据全部放进数组中,就会导致失败

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/215597.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

qt 容器QVector,QMap,QHash的常见使用与该迭代器的简单介绍

一. QVector容器是一个动态数组&#xff0c;可以容纳任意数量的元素,在相邻的内存中存储给定的数据类型作为一组数据,在QVector前部或中间位置插入元素都会导致内存中大量的数据元素移动,这使得操作速度会减慢.可使用迭代器对这组数据进行访问. 和其他的容器类型类似,QVector…

AE无法连接到ME怎么办?

最近学习了一下adobe的系列软件 ae是2018的 me是2023的 本来想用me来做渲染的 发现链接不上 试了一下重装ae&#xff0c;升级版本到2023 链接还是不行 幸好看了这篇博客解决了我的问题&#xff01;&#xff01; AE无法连接到ME怎么办? AE和ME没有装在一个盘无法识别的 用了第二…

【Netty为什么适合做网络编程】

Netty为什么适合做网络编程 描述优点 描述 Netty是由JBOSS提供的一个Java开源框架。Netty提供异步的、基于事件驱动的网络应用程序框架&#xff0c;用以快速开发高性能、高可靠性的网络IO程序。Netty主要用来做网络通信&#xff0c;一般可以用来做RPC框架的通信工具、实现即时…

特发性震颤的严重程度如何评估?

特发性震颤的严重程度评估是一个相对主观和复杂的过程&#xff0c;需要医生综合考虑患者的多种症状和体征进行判断。通常&#xff0c;评估特发性震颤的严重程度会考虑以下几个方面&#xff1a; 一、震颤的频率和强度 评估特发性震颤的严重程度时&#xff0c;首先要观察患者震…

RS485网关如何采集传感器和仪器仪表数据-天拓四方

在自动化生产和监测系统中&#xff0c;传感器和仪器仪表扮演着重要的角色&#xff0c;它们可以收集各种数据&#xff0c;如温度、压力、流量等&#xff0c;并对这些数据进行必要的分析和处理。然而&#xff0c;如何有效地采集这些数据是一个关键问题。RS485网关是一种常见的设备…

裸机开发与Linux驱动开发的区别

一. 简介 裸机开发&#xff0c;即我们常说的不带系统的单片机开发。 Linux驱动开发&#xff0c;即带文件系统的Linux驱动的开发。 二. 裸机开发与Linux驱动开发的区别 1. 裸机开发 比较底层&#xff0c;跟寄存器打交道&#xff0c;有些 MCU提供了库。 2. Linux驱动开发…

MQ-Det: Multi-modal Queried Object Detection in the Wild

首个支持视觉和文本查询的开放集目标检测方法 NeurIPS2023 文章&#xff1a;https://arxiv.org/abs/2305.18980 代码&#xff1a;https://github.com/YifanXu74/MQ-Det 主框图 摘要 这篇文章提出了MQ-Det&#xff0c;一种高效的架构和预训练策略&#xff0c;它利用文本描述的…

Spring框架中的五种常用设计模式

1、单例模式 Spring 的 Bean 默认是单例模式&#xff0c;通过 Spring 容器管理 Bean 的⽣命周期&#xff0c;保证每个 Bean 只被 创建⼀次&#xff0c;并在整个应⽤程序中重用。 2.工厂模式 Spring 使⽤⼯⼚模式通过 BeanFactory 和 ApplicationContext 创建并管理 Bean 对象…

以csv为源 flink 创建paimon 临时表相关 join 操作

目录 概述配置关键配置测试启动 kyuubi执行配置中的命令 bug解决bug01bug02 结束 概述 目标&#xff1a;生产中有需要外部源数据做paimon的数据源&#xff0c;生成临时表&#xff0c;以使用与现有正式表做相关统计及 join 操作。 环境&#xff1a;各组件版本如下 kyuubi 1.8…

Python从门到精通(九):numpy科学计算库

​ Numpy 这是一个三方的库&#xff0c;是很多科学与工程库的基础。在机器学习中应用广泛。 import numpy as np。 数组运算 import numpy as npax np.array([1, 2, 3, 4]) ay np.array([5, 6, 7, 8])type(ax) print(f{ax} * 2 {ax * 2}) #[2 4 6 8] print(f{ax} 10 {a…

Spring(Spring/Springboot 的创建) 基础

一. Spring 1.1 Spring是什么&#xff1f; Spring 指的是 Spring Frameword(Spring 框架),它是一个开源框架。 Spring 是包含了众多工具方法的IoC容器。 1.2 什么是容器&#xff1f; 容器时用来容纳某种物品的装置。 我们之前接触到的容器&#xff1a; • List/Map ->…

内存cache大量使用问题导致应用异常问题

概述 28s应用崩溃查看内存使用有大量cache。 分析 查看free 信息平时的确存在大量cache使用的情况查看dmes信息发现filesendserver崩溃 崩溃信息为系统调用 查看到page allocation failure:order 5 同时也看到系统内存使用情况 查看到系统实际还有部分内存为空闲内存&am…

【Android开发-26】Android中服务Service详细讲解

1&#xff0c;service的生命周期 Android中的Service&#xff0c;其生命周期相较Activity来说更为简洁。它也有着自己的生命周期函数&#xff0c;系统会在特定的时刻调用对应的Service生命周期函数。 具体来说&#xff0c;Service的生命周期包含以下几个方法&#xff1a; on…

[笔记] 使用 qemu/grub 模拟系统启动(单分区)

背景 最近在学习操作系统&#xff0c;需要从零开始搭建系统&#xff0c;由于教程中给的虚拟机搭建的方式感觉还是过于重量级&#xff0c;因此研究了一下通过 qemu 模拟器&#xff0c;配合 grub 完成启动系统的搭建。 qemu 介绍 qemu 是一款十分优秀的系统模拟器&#xff0c;…

Linux上进行Nacos安装

Nacos安装指南 仅供参考&#xff0c;若有错误&#xff0c;欢迎批评指正&#xff01; 后期会继续上传docker安装nacos的过程&#xff01; 1.Windows安装 开发阶段采用单机安装即可。 1.1.下载安装包 在Nacos的GitHub页面&#xff0c;提供有下载链接&#xff0c;可以下载编译好…

《C++新经典设计模式》之第7章 单例模式

《C新经典设计模式》之第7章 单例模式 单例模式.cpp 单例模式.cpp #include <iostream> #include <memory> #include <mutex> #include <vector> #include <atomic> using namespace std;// 懒汉式&#xff0c;未释放 namespace ns1 {class Gam…

手动搭建koa+ts项目框架(日志篇)

文章目录 前言一、安装koa-logger二、引入koa-logger并使用总结如有启发&#xff0c;可点赞收藏哟~ 前言 本文基于手动搭建koats项目框架&#xff08;路由篇&#xff09;新增日志记录 一、安装koa-logger npm i -S koa-onerror and npm i -D types/koa-logger二、引入koa-lo…

【每日一题】【12.11】1631.最小体力消耗路径

&#x1f525;博客主页&#xff1a; A_SHOWY&#x1f3a5;系列专栏&#xff1a;力扣刷题总结录 数据结构 云计算 数字图像处理 1631. 最小体力消耗路径https://leetcode.cn/problems/path-with-minimum-effort/这道题目的核心思路是&#xff1a;使用了二分查找和BFS &a…

PHP基础(2)

目录 一、PHP 数据类型 二、PHP 字符操作函数 strlen() str_word_count() strrev() strpos() str_replace() 一、PHP 数据类型 PHP 有八种基本数据类型和两种复合数据类型&#xff1a; 整型&#xff08;int&#xff09;&#xff1a;表示整数&#xff0c;可以是正数或负数&am…

线程Thread源代码思想学习1

1.启动线程代码 public class MultiThreadExample {public static void main(String[] args) {// 创建两个线程对象Thread thread1 new Thread(new Task());Thread thread2 new Thread(new Task());// 启动线程thread1.start();thread2.start();} }class Task implements Ru…