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

【力扣/牛客刷题】27. 移除元素 || 26. 删除有序数组中的重复项 || 88. 合并两个有序数组

作者:✿✿ xxxflower. ✿✿
博客主页:xxxflower的博客
专栏:【力扣/牛客刷题】篇
语录:⭐每一个不曾起舞的日子,都是对生命的辜负。⭐

题目OJ链接:27.移除元素

在这里插入图片描述
【分析题目】我们首先需要来判断一下这个数组是否为空或者数组的长度是否为0,如果是的话,不用计算直接返回0;
然后,我们可以定义一个数字 i 和 j 。i 表示数组原来的下标。j 表示数组新的下标。用一个循环遍历数组,用 if 语句来判断一下 nums中的元素是否为val,不是val 则存到位 j 下标中。以上,我们可以得到代码:

class Solution {
    public int removeElement(int[] nums, int val) {
        if(nums == null || nums.length == 0){
            return 0;
        }
        int j = 0 ;
        for(int i = 0;i < nums.length; i++){
            if(nums[i] != val){
                nums[j] = nums[i];
                j++;
            }
        }
        return j;
    }
}

在这里插入图片描述
题目OJ链接:26. 删除有序数组中的重复项

在这里插入图片描述
【分析题目】这是一个升序数组,因此不需要考虑排序的问题。
在这里插入图片描述
在这里插入图片描述
以上,我们可以得到代码:

class Solution {
    public int removeDuplicates(int[] nums) {
        int j = 0;
        for(int i = 1;i < nums.length;i++){   
            if(nums[j] != nums[i]){
                nums[++j] = nums[i];
            }
        }
        return j+1;
    }
}

在这里插入图片描述
题目OJ链接:88. 合并两个有序数组
在这里插入图片描述
【分析题目】此题可以偷(只因)机取巧。大聪明必备(bushi)
我们可以直接把nums2放到nums1中0位置处,在用Arrays.sort();快排直接解决。
在这里插入图片描述
以上:

class Solution {
    public void merge(int[] nums1, int m, int[] nums2, int n) {
        int j = 0;
        int i = 0;
        for(i = m,j = 0;i < nums1.length;i++){
            nums1[i] = nums2[j];
            j++;
        }
        Arrays.sort(nums1);
    }
}

在这里插入图片描述
好啦。今天的做题就到这里8️⃣,每日“一”题。
在这里插入图片描述

相关文章:

  • 招商网站建设优势/什么是网络营销平台
  • 咨询服务类网站建设/线下推广渠道和方式
  • jsp和php做网站那个快/销售营销方案100例
  • 自己免费做网站(四)/市场推广怎么做
  • 旅游网站的设计方案怎么做/百度搜索排名与点击有关吗
  • 成都个人兼职做网站/阿里指数查询官网
  • MATLAB | 绘图复刻(二) | 折线图+误差棒+柱状图+散点抖动+灰色背景+图片叠加
  • ASP.NET公司企业网站源码
  • 文件IO操作笔记
  • 【JAVA程序设计】(C00045)基于Springboot+vue应急知识在线考试系统
  • Xilinx HLS基础介绍(一)
  • 谈一谈当前嵌入式系统安全面临的挑战
  • vite+vue3+ts项目集成vue-router、axios封装、sass、element-plus及icon
  • Java多线程【状态与安全问题】
  • Python编程 变量与常量
  • STM32中使用PS2手柄
  • Hystrix熔断器
  • Linux 基础篇-VIM编辑器