移除元素 leetcode java篇

news/2024/7/5 9:33:33

给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。

不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。

元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。

 

 

class Solution {
    public int removeElement(int[] nums, int val) {
        int j = nums.length - 1;
        for (int i = 0; i <= j; i++) {
            if (nums[i] == val) {
                swap(nums, i, j);
                i--;
                j--;
            }
        }
        return j + 1;
    }
    void swap(int[] nums, int i, int j) {
        int tmp = nums[i];
        nums[i] = nums[j];
        nums[j] = tmp;
    }
}

 


http://www.niftyadmin.cn/n/3651729.html

相关文章

懒人的Python技巧#20060708

National Geographic 的网站上有一个 Photo of the Day &#xff08;POTD&#xff09;栏目&#xff1a;http://lava.nationalgeographic.com/pod/ &#xff08;当天的墙纸&#xff09;http://lava.nationalgeographic.com/cgi-bin/pod/archive.cgi &#xff08;以前的墙纸Archi…

Python Cookbook 第二版 汉化版 [00-1-Info]

Python Cookbook 第二版 汉化版David Ascher, Alex Martelli, Anna Ravenscroft 著出版社: OReilly出版日期: March 2005ISBN: 0-596-00797-3页码数目: 844 页同本书第一版一样&#xff0c;第二版汇集了 Python 程序员遇到的常见问题的解决办法。第二版针对 Python 2.4 做了相应…

搜索插入位置 leetcode java篇

给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 p.s. 用移位操作符时一定要打括号,不然优先级太后面了,会导致死循环…

最大子数组和 leetcode java篇

给你一个整数数组 nums &#xff0c;请你找出一个具有最大和的连续子数组&#xff08;子数组最少包含一个元素&#xff09;&#xff0c;返回其最大和。 子数组 是数组中的一个连续部分。 class Solution {public int maxSubArray(int[] ns) {int max ns[0];int pre 0;for(in…

考试的最大困扰度 leetcode java篇

一位老师正在出一场由 n 道判断题构成的考试&#xff0c;每道题的答案为 true &#xff08;用 T 表示&#xff09;或者 false &#xff08;用 F 表示&#xff09;。老师想增加学生对自己做出答案的不确定性&#xff0c;方法是 最大化 有 连续相同 结果的题数。&#xff08;也就…

Lonely Low

Have you ever been this lowthat you dont know where to go?Missing something you do long for,trying to get to heaven before they close the door?You walk slowly along the beach,seeing the sands of time sort of etch.You look around -- the sea is blue,shout …

SHAKESPEARE SONNETS LXVI

性能测试常见误区请看下面一个性能测试小案例&#xff1a;某公司OA产品的新版本即将发布。为了看看系统的性能&#xff0c;决定安排测试工程师A君执行性能测试任务。A君做法如下&#xff1a;1. 找到一台PC机&#xff0c;CPU主频1G&#xff0c;内存512M&#xff0c;……&a…

动态规划系列(1) leetcode java

第一题: 斐波那契数 &#xff08;通常用 F(n) 表示&#xff09;形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始&#xff0c;后面的每一项数字都是前面两项数字的和。也就是&#xff1a; 核心思想: F(n)F(n−1)F(n−2) class Solution {public int fib(int n) {int f0 …