小黑代码
class Solution:
# 缓存字典
map_ = {1: '1'}
def countAndSay(self, n: int) -> str:
# 看是否在缓存中
if n in self.map_:
return self.map_[n]
# 递归向下
n_1_res = self.countAndSay(n-1)
# 回溯
pre_ = None
# 记录前一个字符的个数
count = 0
# 结果数组
res = []
for c in n_1_res:
# 如果前一个字符不为空,则判断该字符与前一个字符是否相等
if pre_:
# 相等的情况
if pre_ == c:
count += 1
# 不相等的情况,记录结果,count置1,pre_设成当前字符
else:
res.extend([str(count), pre_])
count = 1
pre_ = c
# 第一个字符的情况
else:
pre_ = c
count = 1
# 记录末尾的字符序列
res.extend([str(count), pre_])
# 将数组拼接成字符串
res = ''.join(res)
self.map_[n] = res
return res
1075. 项目员工 I
sql:
# Write your MySQL query statement below
SELECT
project_id, ROUND(AVG(experience_years), 2) AS average_years
FROM
Project
LEFT JOIN Employee ON Project.employee_id = Employee.employee_id
GROUP BY
project_id
pandas:
import pandas as pd
def project_employees_i(project: pd.DataFrame, employee: pd.DataFrame) -> pd.DataFrame:
data = pd.merge(left=project, right=employee, on='employee_id')
data = data.groupby('project_id')['experience_years'].mean().reset_index()
data = data.rename(columns = {'experience_years': 'average_years'}).round(2)
return data
小黑生活
11年的老同学还能聚齐
晚上再来个肯德基
大年三十咖啡厅学C++
学车预约改时间
搓澡汗蒸
大年三十干个视频
跟深沉出去溜溜
新年新气象
南二环早餐
大年初一南二环
看到了个好玩的
羊肉串夜宵
来杯霸王
跟尚香看飞驰人生2
排队吃南门涮肉
遛弯喝个饮料酒
麦当劳早餐
跑团大年初三龙年跑
跟尚香下午肯德基学习
第一次炒个菜
看个热辣滚烫
第一次打豆浆
继续学炒菜
去广义跟尚香学习c++
晚上找深沉聚餐
霸王茶姬喝一个