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

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

 🔥博客主页🔥:【 坊钰_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. 源码

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.lryc.cn/news/451555.html

相关文章:

  • linux文件编程_进程
  • java NIO实现UDP通讯
  • ffmpeg如何实现视频推流?
  • 【HTML5】html5开篇基础(3)
  • echarts实现3D柱状图(视觉层面)根据博主改编
  • 【一篇文章理解Java中多级缓存的设计与实现】
  • OpenSource - 开源WAF_SamWaf
  • 旅游避坑指南
  • 矩阵系统源码搭建的具体步骤,支持oem,源码搭建
  • 正则表达式调试工具实战
  • SQL:函数以及约束
  • 在Linux中将设备驱动的地址映射到用户空间
  • 电脑自带dll修复在哪里,dll丢失的6种解决方法总结
  • k8s基于nfs创建storageClass
  • Chrome无法拖入加载.crx扩展文件(以IDM为例)
  • 数字教学时代:构建高效在线帮助中心的重要性
  • 828华为云征文|华为云弹性云服务器FlexusX实例下的Nginx性能测试
  • 知识图谱入门——2:技术体系基本概念:知识表示与建模、知识抽取与挖掘、知识存储与融合、知识推理与检索
  • 【不看会后悔系列】排序之——文件归并【史上最全详解】~
  • 安全点的应用场景及其原理详解
  • 计算机各专业2025毕业设计选题推荐【各专业 | 最新】
  • 【Python报错已解决】IndexError: index 0 is out of bounds for axis 1 with size 0
  • SpringGateway(网关)微服务
  • jQuery面试题:(第三天)
  • 聊聊国内首台重大技术装备(2)
  • python 实现rayleigh quotient瑞利商算法
  • Java Web应用升级故障案例解析
  • Java类和对象、自定义包、static、代码块、方法重写
  • 【系统代码】招投标采购一体化管理系统,JAVA+vue
  • 基于yolov8深度学习的120种犬类检测与识别系统python源码+onnx模型+评估指标曲线+精美GUI界面目标检测狗类检测犬类识别系统