python题库刷题训练,python刷题_小李飞刀:用python刷题ing....

 2023-09-26 阅读 22 评论 0

摘要:叨逼叨 默认每天都要刷两道题。 今天目标已完成。 第一题 26. 删除排序数组中的重复项 python题库刷题训练?难度:简单 类型:数组 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要

叨逼叨

默认每天都要刷两道题。

今天目标已完成。

第一题

26. 删除排序数组中的重复项

python题库刷题训练?难度:简单

类型:数组

给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。

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

这题其实我之前做过,但是一直提交失败。

经过昨天的那题数组题,我换了一种for in方式。

python做题网站。之前我采用的是下标来定位,用pop来删除重复项。

这次采用了数组内的每一项来单独做对比,用remove来进行删除操作。

class Solution(object):

def removeDuplicates(self, nums):

"""

:type nums: List[int]

python在线刷题?:rtype: int

"""

length = len(nums)

if length > 1: \\这个判定很重要

point = nums[0]

for i in nums[1:]:

python选择题题库。if point != i:

point = i

else:

nums.remove(i)

print(len(nums))

其中的if length > 1是后面进行修改的,是必须的判定。

python题库刷题训练选择题,因为可能存在空数组的情况,那么length = 0,不需要删除任何项目。

而当只有一个数组的时候,length = 1,同样不需要删除任何项目。

看了下用时,800ms属于中间位置。

bVbnWM0?w=1185&h=382

看了下44ms的范例,采用的是下标标记,用了反向的思路。

bVbnWNi?w=610&h=358

因为是有序数组,采用了快慢两种指针,当存在不一致的时候,可以进行覆盖,达到删除的目的。

第二题

python刷题网站。80. 删除排序数组中的重复项 II

难度:中等

类型:数组

给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。

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

和第一题十分相似,但是多了条件,就是数值可以出现两次,这就需要额外的进行计数。

Python刷题,class Solution:

def removeDuplicates(self, nums):

"""

:type nums: List[int]

:rtype: int

"""

python期末题库。if len(nums) < 1:

return 0

point = nums[0]

count = 0

for i in nums[1:]:

if point != i:

python算法题。point = i

count = 0

else:

count = count + 1

if count == 2:

nums.remove(i)

python做题软件。count = 1

return len(nums)

我的思路都是比较粗暴的办法,就是用变量记录当前的对比值,当对比值出现超出2次时候,就进行remove,和第一题比较接近的思路,方法也大致相同。

bVbnWNx?w=526&h=281

这题的用时会更少一点,但是也是中间位置。

bVbnWNz?w=1154&h=399

总结

这两天做的题目都比较相似,而且难度较低,都是数组的题目。

python基础题库刷题训练、套路比较相似,对python3的删除操作和遍历也有了更深的认识与实践。

后续要开始做更多其他数据结构的题目,不断尝试。

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/98703.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息