Leetcode--27. 移除元素

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

不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。

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

示例 1:

给定 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, 3, 0, 4。

注意这五个元素可为任意顺序。

你不需要考虑数组中超出新长度后面的元素。
说明:

为什么返回数值是整数,但输出的答案是数组呢?

请注意,输入数组是以“引用”方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。

你可以想象内部操作如下:

// nums 是以“引用”方式传递的。也就是说,不对实参作任何拷贝
int len = removeElement(nums, val);

// 在函数里修改输入数组对于调用者是可见的。
// 根据你的函数返回的长度, 它会打印出数组中该长度范围内的所有元素。
for (int i = 0; i < len; i++) {
    print(nums[i]);
}

提交的代码:

class Solution {

    public int removeElement(int[] nums, int val) {

        int i,j=nums.length-1,sum=0;

        for(i=0;i<nums.length&&i<=j;i++)

        {

            while(nums[j]==val)

            {

                if(j==0)

                {

                    sum++;

                    return nums.length-sum;

                }

                else

                {

                      sum++;

                    j--;

                }

              

            }

            if(nums[i]==val&&i<=j)

            {

                int t = nums[i];

                nums[i] = nums[j];

                nums[j] = t;

                j--;

                sum++;

            }

        }

        return nums.length-sum;

    }

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/485406.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2021年10个激动人心的工程里程碑

来源&#xff1a;IEEE电气电子工程师未来智能实验室的主要工作包括&#xff1a;建立AI智能系统智商评测体系&#xff0c;开展世界人工智能智商评测&#xff1b;开展互联网&#xff08;城市&#xff09;云脑研究计划&#xff0c;构建互联网&#xff08;城市&#xff09;云脑技术…

设置 sideload Outlook Add-ins

上期&#xff0c;我们讲到了用前端技术去建立一个outlook add-ins 我们今天来讲解一下怎样测试一个sideload outlook add-ins。 1. 我们需要登录Outlook在Office 365中。 2. 选择右上角设置按钮&#xff0c;然后选择Manage add-ins选项 3. 打开manage add-in的页面之后&#xf…

用户体验已成过去时 AI要从公民乃至社会的角度去思考问题

来源&#xff1a;Venture Beat作者&#xff1a;Jarno M. Koponen编译&#xff1a;科技行者时至今日&#xff0c;科技巨头及其基于AI的数字平台与解决方案&#xff0c;完全有能力影响全球领导人、民族国家、跨国企业、全球股市乃至每位个人的命运。目前&#xff0c;各大主要数字…

Leetcode--523. 连续的子数组和

给定一个包含非负数的数组和一个目标整数 k&#xff0c;编写一个函数来判断该数组是否含有连续的子数组&#xff0c;其大小至少为 2&#xff0c;总和为 k 的倍数&#xff0c;即总和为 n*k&#xff0c;其中 n 也是一个整数。 示例 1: 输入: [23,2,4,6,7], k 6 输出: True 解释…

css比较特殊选择器汇总(持续更新)

1、css选择器中加号&#xff08;&#xff09;是啥意思&#xff1f; 加号&#xff08;&#xff09;为&#xff1a;相邻同胞选择器&#xff0c;如果需要选择紧接在另一个元素后的元素&#xff0c;而且二者有相同的父元素&#xff0c;可以使用相邻兄弟选择器(Adjacent sibling sel…

《自然》:深度学习超分辨显微成像方法

来源&#xff1a;清华大学自动化系2021年1月21日&#xff0c;中国人工智能学会理事长、中国工程院院士、清华大学自动化系、清华大学脑与认知科学研究院戴琼海课题组与中国科学院生物物理所李栋课题组在《自然•方法》&#xff08;Nature Methods&#xff09;杂志发表了题为光学…

Leetcode--164. 最大间距

给定一个无序的数组&#xff0c;找出数组在排序之后&#xff0c;相邻元素之间最大的差值。 如果数组元素个数小于 2&#xff0c;则返回 0。 示例 1: 输入: [3,6,9,1] 输出: 3 解释: 排序后的数组是 [1,3,6,9], 其中相邻元素 (3,6) 和 (6,9) 之间都存在最大差值 3。 示例 2: …

人工肌肉重大突破登上 Science!多国科学家联合实现全新驱动机

来源&#xff1a;雷锋网作者&#xff1a;付静2021 年&#xff0c;机器人已经「成精」了&#xff0c;公然吵架、组团热舞再也不是愚蠢的人类专属。然鹅在很多人心里&#xff0c;机器人还是僵硬、机械甚至冰冷的。即便如此&#xff0c;技术日新月异&#xff0c;柔性机器人快速发展…

Leetcode--442. 数组中重复的数据

给定一个整数数组 a&#xff0c;其中1 ≤ a[i] ≤ n &#xff08;n为数组长度&#xff09;, 其中有些元素出现两次而其他元素出现一次。 找到所有出现两次的元素。 你可以不用到任何额外空间并在O(n)时间复杂度内解决这个问题吗&#xff1f; 示例&#xff1a; 输入: [4,3,2…

【HAOI2010】工厂选址题解

题目描述 某地区有m座煤矿&#xff0c;其中第i号矿每年产量为ai吨&#xff0c;现有火力发电厂一个&#xff0c;每年需用煤b吨&#xff0c;每年运行的固定费用&#xff08;包括折旧费&#xff0c;不包括煤的运费&#xff09;为h元&#xff0c;每吨原煤从第i号矿运到原有发电厂的…

盘点|应用落地,构建城市“大脑”

来源&#xff1a;IDC圈北京&#xff1a;“云”建智慧之都“全国政治中心、文化中心、国际交往中心、科技创新中心……”城市战略定位下的北京正处在落实首都城市战略定位、建设国际一流和谐宜居之都的关键时期。2020年初&#xff0c;新冠疫情爆发&#xff0c;北京市政府快速响应…

Leetcode--289. 生命游戏

根据百度百科&#xff0c;生命游戏&#xff0c;简称为生命&#xff0c;是英国数学家约翰何顿康威在1970年发明的细胞自动机。 给定一个包含 m n 个格子的面板&#xff0c;每一个格子都可以看成是一个细胞。每个细胞具有一个初始状态 live&#xff08;1&#xff09;即为活细胞…

深度信念网络研究现状与展望

来源&#xff1a;专知摘要: 深度信念网络(Deep belief network, DBN)是一种基于深度学习的生成模型, 克服了传统梯度类学习算法在处理深层结构所面临的梯度消失问题, 近几年来已成为深度学习领域的研究热点之一.基于分阶段学习的思想, 人们设计了不同结构和学习算法的深度信念网…

使用JDBC进行简单连接

学习笔记&#xff1a;JDBC与数据库 集训的有关总结 连接数据库&#xff08;MySQL&#xff09;的步骤&#xff1a; 导入jar包(可以去官网下) 复制mysql-connector-java-5.1.37-bin.jar到项目libs目录下 右键–>Add As Library 注册驱动 获取数据库连接对象Connection 定…

Leetcode--41. 缺失的第一个正数

给定一个未排序的整数数组&#xff0c;找出其中没有出现的最小的正整数。 示例 1: 输入: [1,2,0] 输出: 3 示例 2: 输入: [3,4,-1,1] 输出: 2 示例 3: 输入: [7,8,9,11,12] 输出: 1 说明: 你的算法的时间复杂度应为O(n)&#xff0c;并且只能使用常数级别的空间。 思路:时间…

深度学习中的3个秘密:集成、知识蒸馏和蒸馏

作者&#xff1a;Zeyuan Allen-Zhu来源&#xff1a;AI公园编译&#xff1a;ronghuaiyang在现在的标准技术下&#xff0c;例如过参数化、batch-normalization和添加残差连接&#xff0c;“现代”神经网络训练 —— 至少对于图像分类任务和许多其他任务来说 —— 通常是相当稳定的…

对于JDBC的简单理解

什么是JDBC&#xff1f;为什么要使用JDBC&#xff1f; 1. JDBC JDBC是Java DataBase Connectivity的缩写&#xff0c;即Java程序访问数据库的标准接口使用Java程序访问数据库时&#xff0c;通过JDBC接口来访问JDBC驱动来实现对数据库的操作JDBC接口是Java标准库自带的&#xf…

BeautifulSoup

BeautifulSoup是一个模块&#xff0c;该模块用于接收一个HTML或XML字符串&#xff0c;然后将其进行格式化&#xff0c;之后遍可以使用他提供的方法进行快速查找指定元素&#xff0c;从而使得在HTML或XML中查找指定元素变得简单。 1. 安装 pip3 install beautifulsoup42.示例 fr…

Leetcode-45. 跳跃游戏Ⅱ

给定一个非负整数数组&#xff0c;你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 你的目标是使用最少的跳跃次数到达数组的最后一个位置。 示例: 输入: [2,3,1,1,4] 输出: 2 解释: 跳到最后一个位置的最小跳跃数是 2。 从下标为 …

研究揭示人类大脑进化的基因组调控机制

来源&#xff1a;中国科学院昆明动物研究所人类大脑起源于漫长的生命进化过程&#xff0c;其最显著的改变是大脑的认知功能&#xff0c;反映在脑容量的显著扩大和脑结构的高度精细化。在人类进化过程中&#xff0c;“哪些遗传改变造就了人类大脑”是学界长期力图解决的科学问题…