python天天向上每十天休息一天_LeetCode刷题——第十天(python)
今天又遇到了一个和昨天差不多的题——移动元素,看着挺简单的,题干说的也很清楚,但真正做起来就没那么简单了~
第十天——第十题(移除元素)
看题目!
给定一个数组 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)相关推荐
- 求二叉树高度_LeetCode刷题——第二十五天(平衡二叉树)
这段时间跟二叉树杠上了,接下来还有许多二叉树的题目,虽然已经做了不少了,大多题目都涉及到了递归,也挺好,刚好有机会练习一下递归,但是遇到新的题目还是有点力不从心,还需要看参考答案,真希望有一天像汤神一 ...
- LeetCode刷题(十)----数组-----medium部分(Java、C++)
LeetCode刷题(十)-----数组-------medium部分(Java.C++) 238. 除自身以外数组的乘积 给定长度为n的整数数组nums,其中n>1,返回输出数组output, ...
- LeetCode 刷题之路(python版)
摘自:https://blog.csdn.net/qq_32384313/article/details/90745354 LeetCode 刷题之路(python版) 小坏wz 2019-06-02 ...
- C语言百日刷题第十天
前言 今天是刷题第10天,放弃不难,但坚持一定很酷~ 快来跟我一起刷题吧. C语言百日刷题第十天 前言 81.连接两个字符串 82.输入一行字符,分别统计其中英文字母.空格.数字和其他字符的个数. 8 ...
- python字符串中最长的连续升序子串_Leetcode刷题练Python无重复字符的最长子串
这是一道字符串处理算法的题目,在日常编程中,处理字符串是常见任务.该题目会涉及到一个概念"滑动窗口". 一.题目描述 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度 ...
- python题库刷题训练选择题,大一python题库刷题训练
关于python 语言基础的练习题? 一.Python语言的简述Python语言是一种解释型.面向对象的编程语言,是一种开源语言.Python属于动态类定义语言,也是一种强调类型语言. 二.Pytho ...
- 剑指offer(刷题1-10)--c++,Python版本
文章目录 目录 第一题: 解题思路: 代码实现: c++ 顺序查找 二分查找 Python 第二题: 解题思路: 代码实现: c++ python 第三题: 解题思路: 代码实现: c++ 使用栈辅助 ...
- python leetcode_leetcode 刷题经验,主力 python
1. 树的先序遍历可以求高度,后序遍历可以求深度. 剑指 Offer 55 - II. 平衡二叉树leetcode-cn.com 2. 二叉搜索树的中序遍历可以递增地返回所有元素.逆序的中序遍历(即 ...
- leetcode刷题可以用python吗_LeetCode刷题——第四天(python)
每天选壁纸做封面这个环节是我最喜欢的,今天的题目是比较经典又十分简单的一道题. 第四天--第四题(回文数) 请看题:判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整 ...
最新文章
- 我生于1997,我骄傲了吗?
- ant design vue table 高度自适应_html之table表格
- nginx反向代理nexus私服
- 服务器上装了安全狗后远程链接不上怎么解决
- 极市分享|第32期 张德兵小美:分布式人脸识别及工业级运用经验
- ogg 查看某条更新_明道云Web 6.1更新:日历视图上线
- 2.24 js处理内嵌div滚动条
- C语言线性表之循环单链表
- Egret入门学习日记 --- 第十五篇(书中 6.1~6.9节 内容)
- 【Arcgis】绘制武汉市行政区划地图
- 处于停机等非正常状态_汽轮机运行最重要的启动与停机阶段,你得了解这些实际经验...
- linux mtd手动烧写固件,路由器固件的几种烧写方式
- 用Excel利用RFM模型进行客户细分
- IT人跨界:开了咖啡店却从没想过赚钱
- BZOJ 1127 [POI2008]KUP 最大子矩阵
- 【转载】提问的智慧(How To Ask Questions The Smart Way)
- 7月26日 MySql单表查询作业
- 2021年12月27日多载波NOMA论文阅读
- java关键字有什么用_JAVA中关键字有什么用
- Oracle 中scott 用户的解锁以及修改密码
热门文章
- 动手打造属于自己的直播间(Vue+SpringBoot+Nginx)
- 计算机提取干涉条纹原理,两种提取Fabry-Perot干涉条纹圆心的新方法
- 电脑上做的ppt拿到别的电脑或手机上播放的时候字体错位的解决方法
- 2022-08-13 零基础吉他入门知识(三) 六线谱,和弦图和爬格子的知识补充,吉他中的和弦:大三和弦的各个和弦图理解
- DSP中断使用简明教程
- 凯文凯利给年轻人的建议
- 百度上线百度金矿,个人电脑也可以挖金矿
- 第二讲资金的来源与利润的产生(财务分析与决策)
- 玩转人工智能(11)大数据的ETL和人工智能的EDA
- xcode怎样配置GLUT和GLTools