定义
可以简单理解成修改其他函数的功能的函数。
@Cache装饰器
为了提高函数的执行效率并减少重复计算,用缓存来存储已经计算过的结果。
位于Python标准库functools模块中。
1 | from functools import cache |
使用装饰器通过缓存避免重复计算。
❗注意:
@cache装饰器会将函数的参数作为缓存的键,因此在使用缓存时需要保证函数的参数是可哈希的。
Reference
[1] harvey的网络日志
[2] Python函数装饰器
可以简单理解成修改其他函数的功能的函数。
为了提高函数的执行效率并减少重复计算,用缓存来存储已经计算过的结果。
位于Python标准库functools模块中。
1 | from functools import cache |
使用装饰器通过缓存避免重复计算。
❗注意:
@cache装饰器会将函数的参数作为缓存的键,因此在使用缓存时需要保证函数的参数是可哈希的。
[1] harvey的网络日志
[2] Python函数装饰器
本文为Linux基础学习过程的记录。
定义MultichannelGasSensor类,初始化变量
begin() 初始化I2C,根据传入的地址确定版本号
getVersion() 获取传感器模块的版本号,根据返回值来判断具体的版本
sendI2C() 用于向I2C设备发送数据
get_addr_dta() 用于从指定地址读取数据,可用于读取传感器的各种值
readData() 用于读取R0值,存储在从机MCU中
readR() 读取每个通道的电阻值
calcGas() 计算每个通道的气体浓度
changeI2CAddr() 用于更改从机的I2C地址
doCalibrate() 执行校准过程
powerOn() 和 powerOff() 用于开启和关闭传感器
factory_setting() 恢复传感器模块的出厂设置
change_i2c_address() 改变从机的I2C地址
八大排序:桶排序、冒泡排序、选择排序、插入排序、快速排序、希尔排序、归并排序、堆排序。
739.每日温度
暴力解法会超过时间限制。
维护一个单调栈,栈中存放的是温度数组各元素的下标而不是温度值,但单调性根据温度值来维护。
核心代码:
1 | for i in range(l-1,-1,-1): |
比如输入是30,60,90。单调栈存的就是 [3 2 1] 栈顶对应的温度值为30。为了保证先入后出,从后往前遍历。存下标的话,因为我们有原数组,相当于可以映射过去也就有了实际的温度值,如果存实际的温度值就会丢失下标的信息量,并且答案实际也是要从下标推出来的,所以实际上是从单调栈线性推出答案,这就是单调栈的优越性。
本篇为Leetcode做题过程中字符串篇的总结和纠错等记录。