小黑代码(困难题小黑独立做出,NB干!!)
class Solution:
def maxProfit(self, k: int, prices: List[int]) -> int:
# 数组长度
n = len(prices)
if n < 2:
return 0
# 动态规划数组(买入,卖出)
dp = [[-prices[0], 0] for _ in range(k)]
# 开始动态规划
for i in range(1, n):
# 买卖一次
dp[0][0] = max(dp[0][0], -prices[i])
dp[0][1] = max(dp[0][1], dp[0][0]+prices[i])
# 买卖多次
for t in range(1, k):
dp[t][0] = max(dp[t-1][1]-prices[i], dp[t][0])
dp[t][1] = max(dp[t][0]+prices[i], dp[t][1])
return dp[k-1][1]
数据库练习
# Write your MySQL query statement below
SELECT
ROUND(SUM(tiv_2016), 2) AS tiv_2016
FROM
Insurance
WHERE
tiv_2015 IN (
SELECT
tiv_2015
FROM
Insurance
GROUP BY
tiv_2015
HAVING
COUNT(tiv_2016) > 1
) AND
(lat, lon) IN (
SELECT
lat, lon
FROM
Insurance
GROUP BY
lat, lon
HAVING
COUNT(tiv_2016) < 2
)
pandas练习
585. 2016年的投资
小黑独立作出
import pandas as pd
def find_investments(insurance: pd.DataFrame) -> pd.DataFrame:
# 筛选tiv_2015
group_count = insurance.groupby('tiv_2015').count().reset_index()
target_tiv = set(group_count[group_count['tiv_2016']>1]['tiv_2015'])
# 筛选经纬度
group_count = insurance.groupby(['lat', 'lon']).count().reset_index()
target_side = group_count[group_count['tiv_2016']<2][['lat', 'lon']]
target_lat = set(target_side['lat'])
target_lon = set(target_side['lon'])
# 剔除无用数据
insurance = insurance[insurance['tiv_2015'].isin(target_tiv)]
insurance = insurance[insurance['lat'].isin(target_lat)&insurance['lon'].isin(target_lon)]
return pd.DataFrame([[insurance.tiv_2016.sum()]], columns=['tiv_2016'])
小黑生活
下班后的天空
买俩蛋挞
吃个牛排
宇飞牛肉面
早餐干饭
早茶
午餐干饭
回家牛排
小汤3《中国大戏院》打卡
交了健身尾款,干就完了
早餐干饭
咖啡,学习
午餐干饭
朝阳公园团跑,喜茶关门了伤心
早餐干饭,吃到了混沌
早茶
第一天入职培训
收到了单位的勋章
午餐干饭
马拉松中签,迅速缴费订酒店
跟同事的疯狂星期四
晚上拔罐
吃个711关东煮
麦当劳早餐
午餐干饭
下午继续培训,一人送了一杯柚子茶or咖啡,开心
晚上食堂买的披萨,那披萨回去培训迟到了,坐到了后面
晚上一个人练的背部
早上去跑京城三里屯故宫折返跑,唤醒京城
感谢小老黑保定的款待,感谢中老黑上次四惠的宴请,我也请一个~
一个人搓澡+汗蒸+盐浴
晚上练完琴去吃个烤冷面
麦当劳早餐
下午吃个牛排