Quiet
  • HOME
  • ARCHIVE
  • CATEGORIES
  • TAGS
  • LINKS
  • ABOUT

Yutong Zhu

  • HOME
  • ARCHIVE
  • CATEGORIES
  • TAGS
  • LINKS
  • ABOUT
Quiet主题
  • 学习笔记

20220724 学习记录

Yutong Zhu
日学习记录

2022-07-24 13:26:43

算法题:前缀和方法

leetcode 304 - Range Sum Query 2D - - Immutable

如下是关于如何计算区域4(矩阵[0,0,3,4])的元素和思路

参考:leetcode:304. 二维区域和检索 - 矩阵不可变_秃头哥编程的技术博客_51CTO博客

![](20220724-学习记录/image-20220724143655097.png

区域4:f(i, j)

区域3:f(i - 1, j)

区域2:f(i, j - 1)

区域1:f(i - 1, j - 1)

所以:区域4 = 区域3 + 区域2 - 区域1 + 10(matrix [i] [j])

leetcode 525. Contiguous Array

Python

创建矩阵

方法一:使用Numpy

import numpy as np

#np.empty方法来创建一个指定形状(shape)、数据类型(dtype)且未初始化的数组
x = np.empty([3,2], dtype = int)
print(x)

#同理empty可以换成zeros(0矩阵)、ones(元素都为1)、eyes(单位矩阵(方正矩阵))

#手动创建
x = np.array([[1,2,5],[2,3,5],[3,4,5],[2,3,6]])
print(x)

#采用x.shape[0]输出矩阵行数,同理x.shape[1]输出矩阵列数

方法二:间接定义

x = [[0 for i in range(3)] for i in range(3)]

方法三:

a = [1,2,3]
matrix = [a]*3
print(matrix)

#需要注意,matrix = [array] * 3操作中,只是创建3个指向array的引用,所以一旦array改变,matrix中3个list也会随之改变。
matrix[0][1] = 5
print(matrix)

数据结构 - 哈希表

定义

  • 散列表(Hash table,也叫哈希表),是根据关键码值(Key和value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。

Leetcode 题 (1. TwoSum)

思路是利用字典将target和nums[i]之差与i对应并保存起来,然后用差去一一遍历nums内的元素,看是否对应,若能对应,那么就能返回题目所需要的两个元素在nums内的位置。

下一篇

k近邻法(k-nearest neighbor, k-NN)学习笔记

©2022 By Yutong Zhu. 主题:Quiet
Quiet主题