- 博客(37)
- 收藏
- 关注
原创 leetcode 21.合并两个有序列表(python)
题目:将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1:输入:l1 = [1,2,4], l2 = [1,3,4]输出:[1,1,2,3,4,4]示例 2:输入:l1 = [], l2 = []输出:[]示例 3:输入:l1 = [], l2 = [0]输出:[0]思路:利用递归# Definition for singly-linked list.# class ListNode:# def __init__(se
2021-08-03 15:02:52
192
原创 leetcode 26.删除有序数组中的重复项(python)
给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如下:// nums 是以“引用”方式传递的。也就是说,不对实参做任何拷贝int len = removeDuplicates(num
2021-08-03 14:44:59
513
原创 leetcode 1052.爱生气的书店老板(python)
今天,书店老板有一家店打算试营业 customers.length 分钟。每分钟都有一些顾客(customers[i])会进入书店,所有这些顾客都会在那一分钟结束后离开。在某些时候,书店老板会生气。 如果书店老板在第 i 分钟生气,那么 grumpy[i] = 1,否则 grumpy[i] = 0。 当书店老板生气时,那一分钟的顾客就会不满意,不生气则他们是满意的。书店老板知道一个秘密技巧,能抑制自己的情绪,可以让自己连续 X 分钟不生气,但却只能使用一次。请你返回这一天营业下来,最多有多少客户能够感
2021-07-26 23:17:55
192
原创 leetcode 7.整数反转
给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。示例 1:输入:x = 123输出:321示例 2:输入:x = -123输出:-321示例 3:输入:x = 120输出:21示例 4:输入:x = 0输出:0class Solution: def reverse(self, x: int) -&
2021-07-25 15:16:50
97
原创 leetcode 9.回文数
给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。示例 1:输入:x = 121输出:true示例 2:输入:x = -121输出:false解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入:x = 10输出:false解释:从右向左读, 为 01 。因此它不是一个回文数。示例 4:输
2021-07-25 15:14:07
67
原创 leetcode 1935.可以输入的最大单词数
键盘出现了一些故障,有些字母键无法正常工作。而键盘上所有其他键都能够正常工作。给你一个由若干单词组成的字符串 text ,单词间由单个空格组成(不含前导和尾随空格);另有一个字符串 brokenLetters ,由所有已损坏的不同字母键组成,返回你可以使用此键盘完全输入的 text 中单词的数目。示例 1:输入:text = “hello world”, brokenLetters = “ad”输出:1解释:无法输入 “world” ,因为字母键 ‘d’ 已损坏。示例 2:输入:text =
2021-07-22 21:57:24
141
原创 leetcode 456.132模式
给你一个整数数组 nums ,数组中共有 n 个整数。132 模式的子序列 由三个整数 nums[i]、nums[j] 和 nums[k] 组成,并同时满足:i < j < k 和 nums[i] < nums[k] < nums[j] 。如果 nums 中存在 132 模式的子序列 ,返回 true ;否则,返回 false 。示例 1:输入:nums = [1,2,3,4]输出:false解释:序列中不存在 132 模式的子序列。示例 2:输入:nums = [3,
2021-07-21 23:21:05
74
原创 leetcode 6.Z字形变换
将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “PAYPALISHIRING” 行数为 3 时,排列如下:P A H NA P L S I I GY I R之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“PAHNAPLSIIGYIR”。请你实现这个将字符串进行指定行数变换的函数:string convert(string s, int numRows);示例 1:输入:s = “PAY
2021-07-20 17:47:15
58
原创 leetcode 856.括号的分数
给定一个平衡括号字符串 S,按下述规则计算该字符串的分数:() 得 1 分。AB 得 A + B 分,其中 A 和 B 是平衡括号字符串。(A) 得 2 * A 分,其中 A 是平衡括号字符串。示例 1:输入: “()”输出: 1示例 2:输入: “(())”输出: 2示例 3:输入: “()()”输出: 2示例 4:输入: “(()(()))”输出: 6class Solution: def scoreOfParentheses(self, s: str) ->
2021-07-16 15:52:01
73
原创 leetcode 5.最长回文子串
给你一个字符串 s,找到 s 中最长的回文子串。示例 1:输入:s = “babad”输出:“bab”解释:“aba” 同样是符合题意的答案。示例 2:输入:s = “cbbd”输出:“bb”示例 3:输入:s = “a”输出:“a”示例 4:输入:s = “ac”输出:“a”中心扩散法class Solution: def longestPalindrome(self, s: str) -> str: if len(s)==0:
2021-07-15 20:37:01
82
原创 leetcode 264.丑数
给你一个整数 n ,请你找出并返回第 n 个 丑数 。丑数 就是只包含质因数 2、3 和/或 5 的正整数。示例 1:输入:n = 10输出:12解释:[1, 2, 3, 4, 5, 6, 8, 9, 10, 12] 是由前 10 个丑数组成的序列。示例 2:输入:n = 1输出:1解释:1 通常被视为丑数。import heapqclass Solution: def nthUglyNumber(self, n: int) -> int: heap =
2021-07-14 21:22:19
55
原创 leetcode 300.最长递增子序列
class Solution: def lengthOfLIS(self, nums: List[int]) -> int: if not nums: return 0 lenth=len(nums) dp = [1]*lenth for i in range(lenth): for j in range(i): if nums[i]>nums
2021-07-13 16:41:15
176
原创 python网络五子棋
服务器端:import osimport socketimport threadingfrom tkinter import *from tkinter.messagebox import *def drawQiPan(): for i in range(0, 15): cv.create_line(20, 20 + 40 * i, 580, 20 + 40 * i, width=2) for i in range(0, 15): cv.cr
2021-04-09 13:25:48
735
1
原创 蓝桥杯入门题——水仙花数
题目:153 是一个非常特殊的数字,它等于它的每位数字的立方和,及153 = 111+555+333.编程求所有满足这种条件的三位十进制数按从小到大的顺序输出,每个数占一行s = []for i in range (1,10): for j in range(10): for k in range(10): if (i**3+j**3+k**3==10**2*i+10*j+k): s.append(10**2*i+10*j
2021-02-09 14:59:53
382
原创 蓝桥杯入门——回文数
题目:1221是一个非常特殊的数字,它从左边都和从右边读是一样的,编程求所有这样的四位十进制数 按从小到大的顺序输出。s = []for i in range (1,10): for j in range(10): s.append(10**3*i+10**2*j+10*j+i) for m in sorted(s): print(m)...
2021-02-09 14:34:15
202
原创 求Π的精确值
from math import atanpi = atan(1.0)*4print(pi)import mathprint(math.pi)
2021-02-07 18:55:46
291
原创 蓝桥杯python组省赛——单词分析
题目:【问题描述】小蓝正在学习一门神奇的语言,这门语言中的单词都是由小写英文字母组成,有些单词很长,远远超过正常英文单词的长度。小蓝学了很长时间也记不住一些单词,他准备不再完全记忆这些单词,而是根据单词中哪个字母出现得最多来分辨单词。现在,请你帮助小蓝,给了一个单词后,帮助他找到出现最多的字母和这个字母出现的次数。【输入格式】输入一行包含一个单词,单词只由小写英文字母组成。【输出格式】输出两行,第一行包含一个英文字母,表示单词中出现得最多的字母是哪个。如果有多个字母出现的次数相等,输出字典序
2021-02-07 15:22:20
891
原创 蓝桥杯python组省赛——成绩统计
题目:【问题描述】小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数。如果得分至少是 60 分,则称为及格。如果得分至少为 85 分,则称为优秀。请计算及格率和优秀率,用百分数表示,百分号前的部分四舍五入保留整数。【输入格式】输入的第一行包含一个整数 n,表示考试人数。接下来 n 行,每行包含一个 0 至 100 的整数,表示一个学生的得分。【输出格式】输出两行,每行一个百分数,分别表示及格率和优秀率。百分号前的部分四舍五入保留整数。【样例
2021-02-07 14:37:45
857
1
原创 蓝桥杯 阶乘约数——python
题目:定义阶乘 n! = 1 × 2 × 3 × · · · × n。请问 100! (100 的阶乘)有多少个约数。import mathdef count(num: int): k, ans = 2, 1 while k < (num // k): p = 1 while num % k == 0: num //= k p += 1 ans *= p k +=
2021-02-05 14:57:54
611
原创 蓝桥杯 蛇形填数——python
题目:如下图所示,小明用从 1 开始的正整数“蛇形”填充无限大的矩阵。1 2 6 7 15 …3 5 8 14 …4 9 13 …10 12 …11 ……容易看出矩阵第二行第二列中的数是 5。请你计算矩阵中第 20 行第 20 列的数是多少?【答案提交】这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。思路:找到规律就很简单了。(1,1) = 1(2 ,2)=5(3 ,3)=13....(n ,
2021-02-05 13:36:11
378
原创 蓝桥杯 小蓝制作门牌号——python
题目:小蓝要为一条街的住户制作门牌号。这条街一共有 2020 位住户,门牌号从 1 到 2020 编号。小蓝制作门牌的方法是先制作 0 到 9 这几个数字字符,最后根据需要将字符粘贴到门牌上,例如门牌 1017 需要依次粘贴字符 1、0、1、7,即需要 1 个字符 0,2 个字符 1,1 个字符 7。请问要制作所有的 1 到 2020 号门牌,总共需要多少个字符 2?【答案提交】这是一道结果填空的题,你只需要算出结果后提交即可。cou = 0for i in range(1,2021):
2021-02-05 13:08:16
1787
2
原创 蓝桥杯 跑步训练——python
【问题描述】小明要做一个跑步训练。初始时,小明充满体力,体力值计为 10000 。如果小明跑步,每分钟损耗 600 的体力。如果小明休息,每分钟增加 300 的体力。体力的损耗和增加都是均匀变化的。小明打算跑一分钟、休息一分钟、再跑一分钟、再休息一分钟……如此循环。如果某个时刻小明的体力到达 0 ,他就停止锻炼。请问小明在多久后停止锻炼。为了使答案为整数,请以秒为单位输出答案。答案中只填写数,不填写单位。脑子太笨了,这道题想了很长时间才想明白思路+代码start = 10000time
2021-02-04 18:16:51
208
原创 蓝桥杯:扩散——python
题目:小蓝在一张无限大的特殊画布上作画。这张画布可以看成一个方格图,每个格子可以用一个二维的整数坐标表示。小蓝在画布上首先点了一下几个点:(0, 0), (2020, 11), (11, 14), (2000, 2000)。只有这几个格子上有黑色,其它位置都是白色的。每过一分钟,黑色就会扩散一点。具体的,如果一个格子里面是黑色,它就会扩散到上、下、左、右四个相邻的格子中,使得这四个格子也变成黑色(如果原来就是黑色,则还是黑色)。请问,经过 2020 分钟后,画布上有多少个格子是黑色的。可能是
2021-02-02 20:16:44
411
3
原创 数字2 python
题目:小蓝特别喜欢 2,今年是公元 2020 年,他特别高兴。他很好奇,在公元 1 年到公元 2020 年(包含)中,有多少个年份的数位中包含数字 2?ass = 0for i in range(1,2021): if str(i).count('2')!=0: ass+=1print(ass)563...
2021-01-31 13:27:27
148
1
原创 用户管理系统练习---python
userinfor={'seve':7878,'sishd':36488}def register(): global userinfor name = input('请输入用户名:') if name in userinfor: #判断是否被注册过 print('该用户名已被注册') else: passwd = input("请输入密码:") userinfor[name] = passwd #添加用户
2021-01-28 20:39:38
147
原创 猜字母python
题目:把abcd…s共19个字母组成的序列重复拼接106次,得到长度为2014的串。接下来删除第1个字母(即开头的字母a),以及第3个,第5个等所有奇数位置的字母。得到的新串再进行删除奇数位置字母的动作。如此下去,最后只剩下一个字母,请写出该字母。m = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s'] * 106while len(m)!=1: a=[] for i in ra
2021-01-28 17:34:20
160
原创 力扣 回文数-python
题目:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。class Solution: def isPalindrome(self, x: int) -> bool: if str(x) ==str(x)[::-1]: retu
2021-01-27 18:38:20
187
原创 《李白打酒》python
题目: 话说大诗人李白,一生好饮。幸好他从不开车。一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱:无事街上走,提壶去打酒。逢店加一倍,遇花喝一斗。这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b。则:babaabbabbabbbb 就是合理的次序。像这样的答案一共有多少呢?请你计算出所有可能方案的个数(包含题目给出的)。使用递归来做 sum = 0def cou(a,b,c):
2021-01-26 15:07:32
387
原创 《神奇算式》python
题目: 由4个不同的数字,组成的一个乘法算式,它们的乘积仍然由这4个数字组成。比如:210 x 6 = 12608 x 473 = 378427 x 81 = 2187都符合要求。如果满足乘法交换律的算式算作同一种情况,那么,包含上边已列出的3种情况,一共有多少种满足要求的算式。请填写该数字,通过浏览器提交答案,不要填写多余内容(例如:列出所有算式)。思路: 第一种. a * b c d第二种. a b * c d求出a b c d四个数对应的范围,利用for循环最后把两种情况相加c
2021-01-25 16:03:29
123
原创 《调和级数》python
题目:1/1 + 1/2 + 1/3 + 1/4 + … 在数学上称为调和级数。它是发散的,也就是说,只要加上足够多的项,就可以得到任意大的数字。 但是,它发散的很慢:前1项和达到 1.0前4项和才超过 2.0前83项的和才超过 5.0那么,请你计算一下,要加多少项,才能使得和达到或超过 15.0 呢?sum = 0i = 1while sum <= 15: sum = sum + 1/i i +=1print(i-1) #求得是要加多少项所以减去第一项18
2021-01-23 15:53:40
442
原创 《计算圆周率》python
题目:历史上有许多计算圆周率pai的公式,其中,格雷戈里和莱布尼茨发现了下面的公式:pai = 4(1-1/3+1/5-1/7 …这个公式简单而优美,但美中不足,它收敛的太慢了。如果我们四舍五入保留它的两位小数,那么:累积1项是:4.00累积2项是:2.67累积3项是:3.47。。。请你写出它累积100项是多少(四舍五入到小数后两位)。注意:只填写该小数本身,不要填写任何多余的说明或解释文字。*思路一:递归def func(n): sum = 0 if n==1:
2021-01-22 17:58:55
691
原创 蓝桥杯基础题1.数列排序
题目:给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1<=n<=200输入格式 第一行为一个整数n。 第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。输出格式 输出一行,按从小到大的顺序输出排序后的数列。n = int(input())l = list(map(int,input().split()))l.sort()for i in range(n): print(l[i],end=' ')512 5 6 2 112 5 6
2021-01-21 14:12:48
130
原创 蓝桥杯入门题3.A+B
题目:输入A、B,输出A+B。输入格式输入的第一行包括两个整数,由空格分隔,分别表示A、B。输出格式输出一行,包括一个整数,表示A+B的值。A,B = map(int,input().split())print(A+B)15 2742
2021-01-21 01:28:37
67
原创 《武功秘籍》python
题目:小明到X山洞探险,捡到一本有破损的武功秘籍(2000多页!当然是伪造的)。他注意到:书的第10页和第11页在同一张纸上,但第11页和第12页不在同一张纸上。小明只想练习该书的第81页到第92页的武功,又不想带着整本书。请问他至少要撕下多少张纸带走?sum = 0def func(a,b): global sum if a%2!=0 and b%2==0 or a%2==0 and b%2!=0: sum=sum+(b - a + 1)/2 +1 els
2021-01-20 14:57:11
123
原创 蓝桥杯入门题2.求数列之和
题目:求1+2+3+…+n的值。输入格式输入包括一个整数n。输出格式输出一行,包括一个整数,表示1+2+3+…+n的值。思路1:利用while循环i = int(input())sum = 0n = 0while n<=i: sum = sum+n n+=1print(sum)515思路2:利用等差数列i = int(input())x = i*(i+1)/2print('%.f'%x)515...
2021-01-19 16:40:25
200
原创 蓝桥杯入门题1.圆的面积
题目:给定圆的半径r,求圆的面积。输入格式输入包含一个整数r,表示圆的半径。输出格式输出一行,包含一个实数,四舍五入保留小数点后7位,表示圆的面积。import mathr = int(input())S= math.pi*r*rprint('%.7f'%S)7153.9380400...
2021-01-19 16:10:03
71
原创 《啤酒与饮料》python
题目:啤酒每罐2.3元,饮料每罐1.9元。小明买了若干啤酒和饮料,一共花了82.3元。我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐啤酒。注意:答案是一个整数。思路:for循环if 语句for x in range(1,100): for y in range(1,100): if x<y and x*2.3+y*1.9 == 82.3: print(x)答案11...
2021-01-19 15:54:47
177
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人