自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(160)
  • 收藏
  • 关注

原创 使用esp32-S3、circuitpython(基于micropython)和tja1050进行can通信

使用esp32-S3、circuitpython(基于micropython)和tja1050进行can通信

2025-01-23 12:08:04 351

原创 使用pyboard、micropython和tja1050进行can通信

使用pyboard、micropython和tja1050进行can通信

2025-01-22 21:40:45 168

原创 python graphviz sklearn决策树绘图 解决中文乱码、修改分辨率

修改sklearn导出的DOT格式的字符串。

2024-04-04 15:17:19 661 1

原创 leetcode 1791. 找出星型图的中心节点

用一个字典统计每个节点的度,中心节点为度为n-1的节点

2022-07-08 20:20:24 342

原创 解决cvxpy报错The solver GLPK_MI is not installed

安装完cvxpy之后用的时候报错The solver GLPK_MI is not installed好像不需要安装numpy+mkl,看官网的安装教程用安装cvxopt就行了

2022-06-03 21:44:46 2983 1

原创 将python脚本打包为安卓应用——beeware简易教程

官方教程:https://docs.beeware.org/en/latest/tutorial/tutorial-0.html本教程使用的系统为Windows11,python版本为3.7需要科学上网只能使用纯python模块,不能使用numpy等包含c的模块只适用于一些小型程序,大程序不建议使用这个开发也可以打包为Windows安装程序和iOS程序,但不在本文的介绍范围,不过也大同小异安装依赖教程中建议使用python3.7或者更高版本,所以我使用conda创建了一个python3.7的

2022-04-16 22:37:53 19777 11

原创 蓝桥杯 答疑

题目描述有 n 位同学同时找老师答疑。每位同学都预先估计了自己答疑的时间。老师可以安排答疑的顺序,同学们要依次进入老师办公室答疑。一位同学答疑的过程如下:首先进入办公室,编号为 i 的同学需要 s i 毫秒的时间。然后同学问问题老师解答,编号为 i 的同学需要 a i 毫秒的时间。答疑完成后,同学很高兴,会在课程群里面发一条消息,需要的时间可以忽略。最后同学收拾东西离开办公室,需要 e i 毫秒的时间。一般需要 10 秒、20 秒或 30 秒,即 e i 取值为 10000,20000 或 3000

2022-03-21 19:10:15 308

原创 蓝桥杯 重复字符串

题目描述如果一个字符串 S 恰好可以由某个字符串重复 K 次得到,我们就称 S 是 K 次重复字符串。例如 abcabcabc 可以看作是 abc 重复 3 次得到,所以 abcabcabc 是 3 次重复字符串。同理 aaaaaa 既是 2 次重复字符串、又是 3 次重复字符串和 6次重复字符串。现在给定一个字符串 S,请你计算最少要修改其中几个字符,可以使 S 变为一个 K 次字符串?输入输入第一行包含一个整数 K。第二行包含一个只含小写字母的字符串 S。其中,1 ≤ K ≤ 10^5,

2022-03-20 22:00:32 1068

原创 蓝桥杯 相乘

for i in range(1, 1000000008): if (i * 2021) % 1000000007 == 999999999: print(i) break

2022-03-16 20:29:08 1096

原创 蓝桥杯 砝码称重

题目描述你有一架天平和 N 个砝码,这 N 个砝码重量依次是 W1, W2, · · · , WN。请你计算一共可以称出多少种不同的重量?注意砝码可以放在天平两边。输入输入的第一行包含一个整数 N。第二行包含 N 个整数:W1, W2, W3, · · · , WN。输出输出一个整数代表答案。样例输入31 4 6样例输出10提示【样例说明】能称出的 10 种重量是:1、2、3、4、5、6、7、9、10、11。1 = 1;2 = 6 4 (天平一边放 6,另一边放 4);

2022-03-09 16:22:47 483

原创 蓝桥杯 次数差

x 星球有 26 只球队,分别用 a∼z 的 26 个字母代表。他们总是不停地比赛。在某一赛段,哪个球队获胜了,就记录下代表它的字母,这样就形成一个长长的串。国王总是询问:获胜次数最多的和获胜次数最少的有多大差距?(当然,他不关心那些一次也没获胜的,认为他们在怠工罢了)输入格式输入一个由小写字母构成的字符串,表示球队获胜情况。输出格式输出一个数字,表示出现次数最多的字母比出现次数最少的字母多了多少次。数据范围输入字符串长度不超过 1000。保证至少有两支队伍有胜场。输入样例1:aba

2022-03-08 11:17:52 195

原创 leetcode 70. 爬楼梯

数组储存class Solution: def climbStairs(self, n: int) -> int: dp = [1, 2] for i in range(2, n): dp.append(dp[i-1] + dp[i-2]) return dp[n-1]变量储存(滚动数组)class Solution: def climbStairs(self, n: int) -> int: i

2022-02-20 23:14:57 117

原创 leetcode 111. 二叉树的最小深度

广搜,遍历到的第一个叶子节点即为最小深度# Definition for a binary tree node.# class TreeNode:# def __init__(self, val=0, left=None, right=None):# self.val = val# self.left = left# self.right = rightclass Solution: def minDepth(self, root

2022-02-17 23:49:38 247

原创 leetcode 129. 求根节点到叶节点数字之和

深搜遍历每个节点,记录数字即可# Definition for a binary tree node.# class TreeNode:# def __init__(self, val=0, left=None, right=None):# self.val = val# self.left = left# self.right = rightclass Solution: def sumNumbers(self, root: T

2022-02-16 11:29:15 189

原创 蓝桥杯 平方末尾

思路:因为末尾两位只受原始数字末尾两位相乘影响,例如111的平方数的末尾两位只受11*11影响,而4以上的平方数才大于等于两位,所以遍历4到100,求它们的平方数末尾两位并放到集合中去重即可。结果:22ans = set()for i in range(4, 101): ans.add(str(i**2)[-2:])print(len(ans))...

2022-02-09 22:46:59 346

原创 leetcode 103. 二叉树的锯齿形层序遍历

用一个变量来标记是否反转class Solution: def zigzagLevelOrder(self, root: TreeNode) -> List[List[int]]: if not root: return [] queue = [root] ans = [] flag = True while queue: temp = []

2022-02-09 22:27:10 119

原创 leetcode 589. N 叉树的前序遍历

递归 前序遍历class Solution: def preorder(self, root: 'Node') -> List[int]: ans = [] def dfs(root): if not root: return ans.append(root.val) for node in root.children: d

2022-02-09 22:01:35 376

原创 leetcode 1267. 统计参与通信的服务器

对每一行求和,如果等于一的话遍历该行为1的列,如果找到另一台的话结果加1;如果和不等于1(0或者大于1),则将结果加上和(该行可以通信的台数)。class Solution: def countServers(self, grid: List[List[int]]) -> int: ans = 0 for i in range(len(grid)): s = sum(grid[i]) if s == 1:

2022-01-19 20:51:13 269

原创 leetcode 1880. 检查某单词是否等于两单词之和

class Solution: def isSumEqual(self, firstWord: str, secondWord: str, targetWord: str) -> bool: def f(word): res = 0 for i in word: res *= 10 res += ord(i) - ord('a') return

2022-01-19 20:17:43 144

原创 leetcode 面试题 16.10. 生存人数

class Solution: def maxAliveYear(self, birth: List[int], death: List[int]) -> int: # 统计每一年出生与死亡的人数 b = Counter(birth) d = Counter(death) # 初始化活着的人数n、最大存活数maxn、最大存活数对应年份 n, maxn, year = 0, 0, 0 # 迭代所有年份

2022-01-18 21:04:27 4228

原创 leetcode 27. 移除元素

一个指针遍历数组,遇到指定数字删掉class Solution: def removeElement(self, nums: List[int], val: int) -> int: i = 0 while i < len(nums): if nums[i] == val: nums.pop(i) i -= 1 i += 1 r

2022-01-18 19:58:29 226

原创 蓝桥杯 贪吃蛇长度

+————————————————-+| || H###### #### || # # # || # # # || # #### # # || # # # # # || ######@### # # || # #### # # || # # # # # || ####@#######@### # # || # # # # # || T ##### # # # ## || # # ### ### ## || ################ # # #### || # # # #

2022-01-17 21:20:40 154

原创 leetcode 35. 搜索插入位置

二分class Solution: def searchInsert(self, nums: List[int], target: int) -> int: l, r = 0, len(nums)-1 while l <= r: mid = l + (r-l)//2 if nums[mid] < target: l = mid + 1 else:

2022-01-17 21:13:12 315

原创 leetcode 811. 子域名访问计数

使用字典统计class Solution: def subdomainVisits(self, cpdomains: List[str]) -> List[str]: dic = {} for i in cpdomains: temp = i.split(' ') n = int(temp[0]) temp = temp[1].split('.') for j i

2022-01-17 20:55:40 158

原创 蓝桥杯 2n皇后问题

2n皇后问题问题描述给定一个n*n的棋盘,棋盘中有一些位置不能放皇后。现在要向棋盘中放入n个黑皇后和n个白皇后,使任意的两个黑皇后都不在同一行、同一列或同一条对角线上,任意的两个白皇后都不在同一行、同一列或同一条对角线上。问总共有多少种放法?n小于等于8。输入格式  输入的第一行为一个整数n,表示棋盘的大小。接下来n行,每行n个0或1的整数,如果一个整数为1,表示对应的位置可以放皇后,如果一个整数为0,表示对应的位置不可以放皇后。输出格式输出一个整数,表示总共有多少种放法。样例输入41

2022-01-15 14:55:36 197

原创 蓝桥杯 大臣的旅费

大臣的旅费问题描述很久以前,T王国空前繁荣。为了更好地管理国家,王国修建了大量的快速路,用于连接首都和王国内的各大城市。为节省经费,T国的大臣们经过思考,制定了一套优秀的修建方案,使得任何一个大城市都能从首都直接或者通过其他大城市间接到达。同时,如果不重复经过大城市,从首都到达每个大城市的方案都是唯一的。J是T国重要大臣,他巡查于各大城市之间,体察民情。所以,从一个城市马不停蹄地到另一个城市成了J最常做的事情。他有一个钱袋,用于存放往来城市间的路费。聪明的J发现,如果不在某个城市停下来修整,在连续

2022-01-15 14:46:54 211

原创 蓝桥杯 未名湖边的烦恼

未名湖边的烦恼问题描述  每年冬天,北大未名湖上都是滑冰的好地方。北大体育组准备了许多冰鞋,可是人太多了,每天下午收工后,常常一双冰鞋都不剩。每天早上,租鞋窗口都会排起长龙,假设有还鞋的m个,有需要租鞋的n个。现在的问题是,这些人有多少种排法,可以避免出现体育组没有冰鞋可租的尴尬场面。(两个同样需求的人(比如都是租鞋或都是还鞋)交换位置是同一种排法)输入格式两个整数,表示m和n输出格式一个整数,表示队伍的排法的方案数。样例输入3 2样例输出5思路深搜,使用数组记录已经找过的状态,

2022-01-15 14:38:02 121

原创 蓝桥杯 路径之谜

路径之谜题目描述小明冒充X星球的骑士,进入了一个奇怪的城堡。城堡里边什么都没有,只有方形石头铺成的地面。假设城堡地面是 n x n 个方格。【如图1.png】所示。按习俗,骑士要从西北角走到东南角。可以横向或纵向移动,但不能斜着走,也不能跳跃。每走到一个新方格,就要向正北方和正西方各射一箭。(城堡的西墙和北墙内各有 n 个靶子)同一个方格只允许经过一次。但不必走完所有的方格。如果只给出靶子上箭的数目,你能推断出骑士的行走路线吗?有时是可以的,比如图1.png中的例子。本题的要求就是

2022-01-15 14:26:01 257

原创 蓝桥杯 跳马

跳马问题描述一个8×8的棋盘上有一个马初始位置为(a,b),他想跳到(c,d),问是否可以?如果可以,最少要跳几步?输入格式一行四个数字a,b,c,d。输出格式  如果跳不到,输出-1;否则输出最少跳到的步数。样例输入1 1 2 3样例输出1思路使用广搜,不断往外走然后记录步数,标记访问过的点即可。代码a, b, c, d = map(int, input().split(' '))step = [(1, 2), (1, -2), (-1, 2), (-1, -2), (

2022-01-15 14:21:50 880 1

原创 蓝桥杯 迷宫

迷宫问题描述下图给出了一个迷宫的平面图,其中标记为 1 的为障碍,标记为 0 的为可以通行的地方。010000000100001001110000迷宫的入口为左上角,出口为右下角,在迷宫中,只能从一个位置走到这 个它的上、下、左、右四个方向之一。对于上面的迷宫,从入口开始,可以按DRRURRDDDR 的顺序通过迷宫,一共 10 步。其中 D、U、L、R 分别表示向下、向上、向左、向右走。对于下面这个更复杂的迷宫(30 行 50 列),请找出一种通过迷宫的方式, 其使用的步数最少,在步数最少

2022-01-15 14:17:58 150

原创 蓝桥杯 穿越雷区

穿越雷区问题描述X星的坦克战车很奇怪,它必须交替地穿越正能量辐射区和负能量辐射区才能保持正常运转,否则将报废。某坦克需要从A区到B区去(A,B区本身是安全区,没有正能量或负能量特征),怎样走才能路径最短?已知的地图是一个方阵,上面用字母标出了A,B区,其它区都标了正号或负号分别表示正负能量辐射区。例如:A + - + -- + - - +- + + + -+ - + - +B + - + -坦克车只能水平或垂直方向上移动到相邻的区。数据格式要求:输入第一行是一个整数n,表示方阵的大

2022-01-15 14:07:29 166

原创 蓝桥杯 第39级台阶

第39级台阶题目描述:小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级!站在台阶前,他突然又想着一个问题:如果我每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多少种不同的上法呢?输出格式:输出一个整数思路记录走的步数,走到最后一级的时候判断是否为偶数步需要使用一个数组来记录已经走过的情况,减少重复计算,否则跑不出来代码lis = [[-1] * 39 for _ in

2022-01-15 13:58:56 420

原创 蓝桥杯 李白打酒

李白打酒问题描述话说大诗人李白,一生好饮。幸好他从不开车。一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱:无事街上走,提壶去打酒。逢店加一倍,遇花喝一斗。这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b。则:babaabbabbabbbb 就是合理的次序。像这样的答案一共有多少呢?请你计算出所有可能方案的个数(包含题目给出的)。思路因为最后遇到的是花,正好喝了一次并且喝光了,所以到最后

2022-01-15 13:52:20 170

原创 蓝桥杯 带分数

带分数问题描述100 可以表示为带分数的形式:100 = 3 + 69258 / 714。还可以表示为:100 = 82 + 3546 / 197。注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)。类似这样的带分数,100 有 11 种表示法。输入格式从标准输入读入一个正整数N (N<1000*1000)输出格式程序输出该数字用数码1~9不重复不遗漏地组成带分数表示的全部种数。注意:不要求输出每个表示,只统计有多少表示法!样例输入1100样例输出111样例输

2022-01-15 13:41:58 257

原创 第二周蓝桥训练营题解(python)

带分数李白打酒第39级台阶穿越雷区迷宫跳马路径之谜未名湖边的烦恼大臣的旅费2n皇后问题

2022-01-08 21:15:21 444

原创 leetcode 268. 丢失的数字

集合差集class Solution: def missingNumber(self, nums: List[int]) -> int: return (set(range(len(nums)+1)) - set(nums)).pop()

2022-01-08 19:41:28 318

原创 leetcode 274. H 指数

遍历数组并用一个数组统计各引用次数的文章篇数,最后从后向前遍历统计数组,返回找到的第一个篇数大于等于引用数的即可。class Solution: def hIndex(self, citations: List[int]) -> int: m, t = max(citations), 0 lis = [0] * (m+1) for i in citations: lis[i] += 1

2022-01-08 19:34:57 300

原创 leetcode 148. 排序链表

直接读到列表里排序再写回原链表。# Definition for singly-linked list.# class ListNode:# def __init__(self, val=0, next=None):# self.val = val# self.next = nextclass Solution: def sortList(self, head: Optional[ListNode]) -> Optional[ListNode

2022-01-07 22:41:03 198

原创 蓝桥杯 成绩统计

n = int(input())n1, n2 = 0, 0for _ in range(n): score = int(input()) if score >= 85: n1 += 1 if score >= 60: n2 += 1print('{}%'.format(round(100 * n2 / n)))print('{}%'.format(round(100 * n1 / n)))

2022-01-06 21:19:18 182

原创 leetcode 414. 第三大的数

使用三个变量a、b、c存放前三大的数,遍历数组,为了不储存重复的数,需判断遍历到的数是否位于已存放的大数之间,并更新存放的数。最后判断是否有第三大的数(c是否被修改)并返回。class Solution: def thirdMax(self, nums: List[int]) -> int: a = b = c = -2147483649 # -2**31 - 1 for n in nums: if n > a:

2022-01-06 20:19:47 156

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除