【Java SE 题库】移除元素(暴力解法)--力扣

news/2024/10/3 19:34:44/

 🔥博客主页🔥:【 坊钰_CSDN博客 】

欢迎各位点赞👍评论✍收藏⭐

目录

1. 题目

2. 解法(快慢“指针”) 

3. 源码

4. 小结


1. 题目

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

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

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

 例:

输入: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,4,0,3,_,_,_]

2. 解法(快慢“指针”) 

当然 Java 里是没有指针的,这里只是类比一下

我们想一下这是一个数组,我们要原地删除数字 2

 我们先用 str 和 des 来类比指针,他俩都指向第一个位置

以 des 指针向后遍历

1,遇到的数字不等于 2 ,把des指向的数字赋值给str,des++ ,str++,都往后移动一位

2, 遇到的数字等于 2,des++

3. 源码

java">import java.util.Scanner;class Solution {public static int removeElement (int[] arr,int val) {int sz=arr.length;int des=0;int str=0;for(int i=0;i<sz;i++) {if(arr[des]!=val) {arr[str++]=arr[des++];    //判断条件} else {des++;}}return str;}public static void Print(int[] arr,int n) {for(int i=0;i<n;i++) {System.out.print(arr[i]+" ");    // 打印数组}System.out.println(" ");}
}public class TeatDelete {public static void main(String[] args) {int[] arr={1,2,3,4,4,3,2,2,6,2};Scanner val =new Scanner(System.in);int a=val.nextInt();int ret=Solution.removeElement(arr,a);Solution.Print(arr,ret);}
}

 

4. 小结

以上就是对移除元素的了解,具体还需宝子们去实践,如果觉得该博客对你有用的话,希望一键三连,点个关注不迷路,谢谢支持!

 


http://www.ppmy.cn/news/1533596.html

相关文章

网络协议一般分为几类?如何划分

网络协议是计算机网络中用于通信的规则和标准&#xff0c;确保不同设备之间能够有效地传输数据。网络协议可以根据不同的标准和功能进行分类&#xff0c;主要分为以下几类&#xff1a; 一、按功能划分 应用层协议 应用层协议负责特定应用程序之间的通信&#xff0c;它们定义了…

(22)activeMQ部署

activeMQ集群部署: 前言:从ActiveMQ 5.9开始,ActiveMQ的集群实现方式取消了传统的Master-Slave方式, 增加了基于ZooKeeper + LevelDB的Master-Slave实现方式,其他两种方式目录共享和数据库共享依然存在。 25.213.39.177 25.213.39.97 25.213.39.86 主机 集群端…

通过python-api使用openai的gpt

目前&#xff0c;OpenAI 提供的 GPT 模型可以通过其提供的 API 进行访问。以下是如何通过 Python 使用 OpenAI GPT API 的详细步骤&#xff1a; 1. 安装 OpenAI Python 库 首先&#xff0c;你需要安装 OpenAI 的 Python 库。可以通过 pip 安装&#xff1a; pip install open…

开发微信小程序 案例01-本地生活首页页面

1---home.wxml 区域 &#xff08;页面整体的标签&#xff09; <!-- 轮播图区域 --> <swiper indicator-dots circular autoplay> <swiper-item wx:for"{{SwiperArr}}" wx:key"id"> <image src"{{item.image}}"></ima…

HTML【知识改变命运】03font 字体标签

题目&#xff1a;在页面上显示"北京"两个字&#xff0c;字体为微软雅黑&#xff0c;颜色为红色&#xff0c;大小为40xp&#xff1b; font标签可以修饰字体的大小&#xff0c;颜色&#xff0c;和字体 属性&#xff1a;color颜色&#xff0c;face字体&#xff0c;size大…

Python中流行的开源OCR项目

以下是一些Python中流行的开源OCR项目&#xff1a; PaddleOCR&#xff1a;由百度开发的OCR工具库&#xff0c;支持多种语言的文字识别&#xff0c;包括中英文&#xff0c;同时支持倾斜、竖排等多种方向的文字识别。它提供了超轻量级的PP-OCRv3模型&#xff0c;适合在资源受限的…

Spring Boot 3整合FFmpeg进行图片和MP3转换为视频

Spring Boot 3整合FFmpeg进行图片和MP3转换为视频的示例代码如下&#xff1a; 添加FFmpeg依赖到pom.xml&#xff1a; <dependency><groupId>com.github.kokorin.jaffree</groupId><artifactId>jaffree</artifactId><version>0.1.2</v…

用Python+flask+mysql等开发的Excel数据资产落地工具

话不多说 1)Excel文件上传,列表预览 2)选中要导入结构及数据的Excel文件 约束说明: 2.1)Excel文件的第一行约定为表头名称 2.2)系统自动识别字段列名及数据类型,目前不支持合并表头 3)Excel建表导入数据成功后,可在表源列表中预览查看 4)对数据表源可进行透视图设计管理,可对…