蓝桥杯 每日两题 day3

碎碎念:断更了,,,悲惨滴去写小组作业,悲惨滴去搞泡泡堂。

1.直线

6.直线 - 蓝桥云课 (lanqiao.cn)

python 复制代码
from itertools import combinations

x = [i for i in range(20)]
y = [i for i in range(21)]
dots = []    # 坐标
for i in x:
    for j in y:
        dots.append([i,j])
two_dot = list(combinations(dots,2))    # 点两两组合成线
k_b = set()    # 计算截距和斜率
for i in two_dot:
    if i[0][0]-i[1][0] != 0:
        tmp_k = (i[0][1]-i[1][1])/(i[0][0]-i[1][0])
        tmp_b = (i[0][0]*i[1][1]-i[1][0]*i[0][1])/(i[0][0]-i[1][0])    # 注意b要这样算,,,
        k_b.add((tmp_k,tmp_b))
print(len(k_b)+20)    # 最后加上分母为0的情况,可以参考比较少的数字找规律

2.打家劫舍

198. 打家劫舍 - 力扣(LeetCode)

python 复制代码
"""
哇咔咔 写对了!忘记的不懂的统统去看k神解析!!
"""

class Solution:
    def rob(self, nums: List[int]) -> int:
        df = [0]*(len(nums)+1)    # 动态表格,记录子问题的最优解(在此为第i个房子的最大打劫钱数)
        df[1] = nums[0]    # 初始化第一个房子!!
        for i in range(1,len(df)-1):
            df[i+1] = max(df[i], df[i-1]+nums[i])    # 核心!要打劫下一个房子or不打劫
        return df[-1]

相关推荐
一轮弯弯的明月21 小时前
贝尔数求集合划分方案总数
java·笔记·蓝桥杯·学习心得
Ricky111zzz1 天前
leetcode学python记录1
python·算法·leetcode·职场和发展
liu****1 天前
第16届省赛蓝桥杯大赛C/C++大学B组(京津冀)
开发语言·数据结构·c++·算法·蓝桥杯
逆境不可逃1 天前
LeetCode 热题 100 之 230. 二叉搜索树中第 K 小的元素 199. 二叉树的右视图 114. 二叉树展开为链表
算法·leetcode·职场和发展
wfbcg1 天前
每日算法练习:LeetCode 15. 三数之和 ✅
算法·leetcode·职场和发展
YunQuality1 天前
六西格玛黑带三个月拿证经验分享
笔记·职场和发展·职场·学习方法
人道领域1 天前
【LeetCode刷题日记】242.字母异位词
算法·leetcode·职场和发展
XWalnut1 天前
LeetCode刷题 day8
算法·leetcode·职场和发展
Ricky111zzz1 天前
leetcode学python记录2
python·算法·leetcode·职场和发展
hnjzsyjyj1 天前
洛谷 P8749:[蓝桥杯 2021 省 B] 杨辉三角形 ← 组合数 + 二分
蓝桥杯·二分·杨辉三角·组合数