栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java移除元素(简单)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java移除元素(简单)

效果:

        执行用时:0 ms, 在所有 Java 提交中击败了100.00%的用户

        内存消耗:37 MB, 在所有 Java 提交中击败了46.34%的用户

        通过测试用例:113 / 113

思路:

        用快排的思想,将数组一分为二。

        1.当数组为空,直接返回0。

        2.当数组不空的时候:i从左往右找要删除的值,j从右往左找要保留的值,判断此时ij范围有没有溢出(即i

        3.此时确定i元素的值,若i不是要删除的值,则返回i+1;其余返回i。(注:千万不能写反,比如数组全是要删除的元素)。

代码:
class Solution {
    public int removeElement(int[] nums, int val) {
        if(nums.length == 0)return 0;       
        int i = 0;
        int j = nums.length-1;
        while(i < j){
            for(; i < j && nums[i] != val; i++){}
            for(; i < j && nums[j] == val; j--){}
            if(i < j){
                int temp = nums[j];
                nums[j] = nums[i];
                nums[i] = temp;
                i++;
                j--;
            }
        }
        if(nums[i] != val)return i+1;
        return i;
    }
}

        

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/434345.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号