今天又遇到了一个和昨天差不多的题——移动元素,看着挺简单的,题干说的也很清楚,但真正做起来就没那么简单了~

第十天——第十题(移除元素)

看题目!

给定一个数组 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。

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

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

来源:力扣(LeetCode)

python解答之一:

class Solution(object):

def removeElement(self, nums, val):

"""

:type nums: List[int]

:type val: int

:rtype: int

"""

idx = 0

for i in range(len(nums)):

if nums[i] != val:

nums[idx] = nums[i]

idx += 1

return idx

代码疑问:

1.这个代码还是没看懂。。。

2.为什么只考虑了不等于的情况,那等于的情况怎么说。

3.昨天题干上就有一个“说明”,今天又有,昨天没注意,今天发现真是返回了:idx,但输出的却是一个列表,虽然说明了,但是感觉还是有点蒙。

说明:

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

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

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

// nums 是以“引用”方式传递的。也就是说,不对实参作任何拷贝

int len = removeElement(nums, val);

// 在函数里修改输入数组对于调用者是可见的。

// 根据你的函数返回的长度, 它会打印出数组中该长度范围内的所有元素。

for (int i = 0; i < len; i++) {

print(nums[i]);

}

python天天向上每十天休息一天_LeetCode刷题——第十天(python)相关推荐

  1. 求二叉树高度_LeetCode刷题——第二十五天(平衡二叉树)

    这段时间跟二叉树杠上了,接下来还有许多二叉树的题目,虽然已经做了不少了,大多题目都涉及到了递归,也挺好,刚好有机会练习一下递归,但是遇到新的题目还是有点力不从心,还需要看参考答案,真希望有一天像汤神一 ...

  2. LeetCode刷题(十)----数组-----medium部分(Java、C++)

    LeetCode刷题(十)-----数组-------medium部分(Java.C++) 238. 除自身以外数组的乘积 给定长度为n的整数数组nums,其中n>1,返回输出数组output, ...

  3. LeetCode 刷题之路(python版)

    摘自:https://blog.csdn.net/qq_32384313/article/details/90745354 LeetCode 刷题之路(python版) 小坏wz 2019-06-02 ...

  4. C语言百日刷题第十天

    前言 今天是刷题第10天,放弃不难,但坚持一定很酷~ 快来跟我一起刷题吧. C语言百日刷题第十天 前言 81.连接两个字符串 82.输入一行字符,分别统计其中英文字母.空格.数字和其他字符的个数. 8 ...

  5. python字符串中最长的连续升序子串_Leetcode刷题练Python无重复字符的最长子串

    这是一道字符串处理算法的题目,在日常编程中,处理字符串是常见任务.该题目会涉及到一个概念"滑动窗口". 一.题目描述 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度 ...

  6. python题库刷题训练选择题,大一python题库刷题训练

    关于python 语言基础的练习题? 一.Python语言的简述Python语言是一种解释型.面向对象的编程语言,是一种开源语言.Python属于动态类定义语言,也是一种强调类型语言. 二.Pytho ...

  7. 剑指offer(刷题1-10)--c++,Python版本

    文章目录 目录 第一题: 解题思路: 代码实现: c++ 顺序查找 二分查找 Python 第二题: 解题思路: 代码实现: c++ python 第三题: 解题思路: 代码实现: c++ 使用栈辅助 ...

  8. python leetcode_leetcode 刷题经验,主力 python

    1. 树的先序遍历可以求高度,后序遍历可以求深度. 剑指 Offer 55 - II. 平衡二叉树​leetcode-cn.com 2. 二叉搜索树的中序遍历可以递增地返回所有元素.逆序的中序遍历(即 ...

  9. leetcode刷题可以用python吗_LeetCode刷题——第四天(python)

    每天选壁纸做封面这个环节是我最喜欢的,今天的题目是比较经典又十分简单的一道题. 第四天--第四题(回文数) 请看题:判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整 ...

最新文章

  1. 我生于1997,我骄傲了吗?
  2. ant design vue table 高度自适应_html之table表格
  3. nginx反向代理nexus私服
  4. 服务器上装了安全狗后远程链接不上怎么解决
  5. 极市分享|第32期 张德兵小美:分布式人脸识别及工业级运用经验
  6. ogg 查看某条更新_明道云Web 6.1更新:日历视图上线
  7. 2.24 js处理内嵌div滚动条
  8. C语言线性表之循环单链表
  9. Egret入门学习日记 --- 第十五篇(书中 6.1~6.9节 内容)
  10. 【Arcgis】绘制武汉市行政区划地图
  11. 处于停机等非正常状态_汽轮机运行最重要的启动与停机阶段,你得了解这些实际经验...
  12. linux mtd手动烧写固件,路由器固件的几种烧写方式
  13. 用Excel利用RFM模型进行客户细分
  14. IT人跨界:开了咖啡店却从没想过赚钱
  15. BZOJ 1127 [POI2008]KUP 最大子矩阵
  16. 【转载】提问的智慧(How To Ask Questions The Smart Way)
  17. 7月26日 MySql单表查询作业
  18. 2021年12月27日多载波NOMA论文阅读
  19. java关键字有什么用_JAVA中关键字有什么用
  20. Oracle 中scott 用户的解锁以及修改密码

热门文章

  1. 动手打造属于自己的直播间(Vue+SpringBoot+Nginx)
  2. 计算机提取干涉条纹原理,两种提取Fabry-Perot干涉条纹圆心的新方法
  3. 电脑上做的ppt拿到别的电脑或手机上播放的时候字体错位的解决方法
  4. 2022-08-13 零基础吉他入门知识(三) 六线谱,和弦图和爬格子的知识补充,吉他中的和弦:大三和弦的各个和弦图理解
  5. DSP中断使用简明教程
  6. 凯文凯利给年轻人的建议
  7. 百度上线百度金矿,个人电脑也可以挖金矿
  8. 第二讲资金的来源与利润的产生(财务分析与决策)
  9. 玩转人工智能(11)大数据的ETL和人工智能的EDA
  10. xcode怎样配置GLUT和GLTools