创建数组,添加元素,删除元素,插入数组元素,修改数组元素,根据索引查询元素,根据元素查询索引,数组长度,遍历数组方法,数组升序降序排序
class ArragTest:
def test(self):
a=[] #创建数组
## 添加数组元素
a.append(1)
a.append(2)
a.append(3)
print(a)
#[1,2,3]
##删除数组元素
a.pop(2) ##pop根据索引删除数组元素
print(a)
# [1,2]
##插入数组元素
a.insert(0,99)
print(a)
# [99,1,2]
a.remove(99) ##remove根据元素删除
print(a)
# [1,2]
##修改数组元素
a[0]=5 ##根据索引删除元素
print(a)
# [5,2]
##查询数组元素
temp=a[0] ##根据索引查询元素
print(temp)
# 5
# 数组长度
size=len(a)
print(size)
#2
# 查询某个元素的索引
index=a.index(5)
print(index)
#0
# 遍历数组方法
# 遍历元素
for i in a:
print(i)
#5
#2
# 遍历索引,元素
for n,m in enumerate(a):
print(n,m)
# 0 5
# 1 2
# 遍历索引
for i in range(0,len(a)):
print(i)
#0
#1
print(a[i])
#5
#2
# 数组排序
a.sort() #数组从小到大排序
print(a)
a.sort(reverse=True) #数组从大到小排序
print(a)
if __name__ == "__main__" :
test1=ArragTest()
test1.test()
485
给定一个二进制数组 nums , 计算其中最大连续 1 的个数。
示例 1:
输入:nums = [1,1,0,1,1,1]
输出:3
解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3.
示例 2:
输入:nums = [1,0,1,1,0,1]
输出:2
class Solution:
def findMaxConsecutiveOnes(self, nums: List[int]) -> int:
if nums is None or len(nums)==0:
return 0
result=0
count=0
for i in nums:
if i==1:
count+=1
else:
result=max(result,count)
count=0
return max(result,count)
283
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。
请注意 ,必须在不复制数组的情况下原地对数组进行操作。
示例 1:
输入: nums = [0,1,0,3,12]
输出: [1,3,12,0,0]
示例 2:
输入: nums = [0]
输出: [0]
class Solution:
def moveZeroes(self, nums: List[int]) -> None:
"""
Do not return anything, modify nums in-place instead.
"""
index=0
for num in nums:
if num != 0:
nums[index]=num
index+=1
for i in range(index,len(nums)):
nums[i]=0
return nums