2021-5-11
一、英语
1、no sooner than:一……就
2、render:致使、造成
二、算法题
1、48:坐标转换问题,数组
class Solution:
def rotate(self, matrix: List[List[int]]) -> None:
"""
Do not return anything, modify matrix in-place instead.
"""
"""
#题解的过程见ipad
#方法一:直接根据旋转得到坐标的变化
#python中//表示整数除法,向下取整
n = len(matrix)
row = int(n/2)
col = int((n+1)/2)
for i in range(row):
for j in range (col):
tmp = matrix[i][j]
matrix[i][j] = matrix[n-1-j][i]
matrix[n-1-j][i] = matrix[n-1-i][n-1-j]
matrix[n-1-i][n-1-j] = matrix[j][n-1-i]
matrix[j][n-1-i] = tmp
"""
#方法二:通过翻转实现旋转90度
#首先上下翻转
n = len(matrix)
row = int(n/2)
for i in range(row):
for j in range(n):
matrix[i][j],matrix[n-1-i][j] = matrix[n-1-i][j],matrix[i][j]
#对角线翻转
for i in range(n):
for j in range(i):
matrix[i][j],matrix[j][i] = matrix[j][i],matrix[i][j]
2、240:数组+排序的性质
class Solution:
def searchMatrix(self, matrix: List[List[int]], target: int) -> bool:
#由于每一行和每一列都是有序的,从(m-1,0)开始,如果target比它小那么就向上
#如果大,那么就向右
m = len(matrix)
n = len(matrix[0])
cur = matrix[m-1][0]
i = m-1
j = 0
while i>=0 and j<=(n-1):
if cur == target:
return True
if cur > target:
i-=1
if i >= 0:
cur = matrix[i][j]
else:
return False
else:
j += 1
if j <= n-1:
cur = matrix[i][j]
else:
return False
return False
明天也要好好加油!
zzh生日快乐!