Task01:数组(1天)
理论部分:
理解数组的存储与分类。
实现动态数组,该数组能够根据需要修改数组的长度。
练习部分
1 利用动态数组解决数据存放问题
编写一段代码,要求输入一个整数N,用动态数组A来存放2~N之间所有5或7的倍数,输出该数组。
def findn(n):
A = []
for i in range(2,n+1):
if i%5==0 or i%7==0:
A.append(i)
print(A)
findN(100)
print('totally cost')
- 托普利茨矩阵问题
如果一个矩阵的每一方向由左上到右下的对角线上具有相同元素,那么这个矩阵是托普利茨矩阵。
给定一个M x N的矩阵,当且仅当它是托普利茨矩阵时返回True。
class Solution:
def isToeplitzMatrix(self, matrix: List[List[int]]) -> bool:
for j in range(len(matrix[0])-1):
for i in range(len(matrix)-1):
if matrix[i][j] != matrix[i+1][j+1]:
return False
else:
return True
- 三数之和
https://leetcode-cn.com/problems/3sum/
给定一个包含 n 个整数的数组nums,判断nums中是否存在三个元素a,b,c,
使得a + b + c = 0?找出所有满足条件且不重复的三元组。
class Solution:
def threeSum(self, nums):
result = []
for i, a in enumerate(nums):
for j, b in enumerate(nums[i + 1:]):
for _, c in enumerate(nums[j + i + 2:]):
if a + b + c == 0:
result.append([a, b, c])
return result
来源:CSDN
作者:Abob151
链接:https://blog.csdn.net/Abob151/article/details/103863981