自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 力扣 leetcode 766. 托普利茨矩阵 (python)

Topic给你一个 m x n 的矩阵 matrix 。如果这个矩阵是托普利茨矩阵,返回 true ;否则,返回 false 。如果矩阵上每一条由左上到右下的对角线上的元素都相同,那么这个矩阵是 托普利茨矩阵 。Example_1输入:matrix = [[1,2,3,4],[5,1,2,3],[9,5,1,2]]输出:true解释:在上述矩阵中, 其对角线为:“[9]”, “[5, 5]”, “[1, 1, 1]”, “[2, 2, 2]”, “[3, 3]”, “[4]”。各条

2021-02-22 19:42:07 242

原创 力扣 leetcode 697. 数组的度 (python)计数排序 + 哈希

Topic给定一个非空且只包含非负数的整数数组 nums,数组的度的定义是指数组里任一元素出现频数的最大值。你的任务是在 nums 中找到与 nums 拥有相同大小的度的最短连续子数组,返回其长度。Example_1输入:[1, 2, 2, 3, 1]输出:2解释:输入数组的度是2,因为元素1和2的出现频数最大,均为2.连续子数组里面拥有相同度的有如下所示:[1, 2, 2, 3, 1], [1, 2, 2, 3], [2, 2, 3, 1], [1, 2, 2], [2, 2, 3

2021-02-20 01:43:41 266 3

原创 力扣 leetcode 567. 字符串的排列 (python)

Topic给定两个字符串 s1 和 s2,写一个函数来判断 s2 是否包含 s1 的排列。换句话说,第一个字符串的排列之一是第二个字符串的子串。Example_1输入: s1 = “ab” s2 = “eidbaooo”输出: True解释: s2 包含 s1 的排列之一 (“ba”).Example_2输入: s1= “ab” s2 = “eidboaoo”输出: FalseTips输入的字符串只包含小写字母两个字符串的长度都在 [1, 10,000] 之间Sol

2021-02-20 00:40:02 478

原创 力扣 leetcode 485. 最大连续 1 的个数 (python)

Topic给定一个二进制数组, 计算其中最大连续 1 的个数。Example输入:[1,1,0,1,1,1]输出:3解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3.Tips输入的数组只包含 0 和 1 。输入数组的长度是正整数,且不超过 10,000。Solution通过enumerate函数仅需一次遍历即可满足题意同样是滑动窗口的方法只要窗口的右侧为1则继续右移窗口右侧指针当窗口右侧出现0的时候将窗口左侧指针放置在当前位置并继续右移窗口

2021-02-19 22:42:02 183

原创 力扣 leetcode 561. 数组拆分 I (python)

Topic给定长度为 2n 的整数数组 nums ,你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), …, (an, bn) ,使得从 1 到 n 的 min(ai, bi) 总和最大。返回该 最大总和 。Example_1输入:nums = [1,4,3,2]输出:4解释:所有可能的分法(忽略元素顺序)为:(1, 4), (2, 3) -> min(1, 4) + min(2, 3) = 1 + 2 = 3(1, 3), (2, 4) ->

2021-02-19 22:16:08 499

原创 力扣 leetcode 566. 重塑矩阵 (python)

Topic在MATLAB中,有一个非常有用的函数 reshape,它可以将一个矩阵重塑为另一个大小不同的新矩阵,但保留其原始数据。给出一个由二维数组表示的矩阵,以及两个正整数r和c,分别表示想要的重构的矩阵的行数和列数。重构后的矩阵需要将原始矩阵的所有元素以相同的行遍历顺序填充。如果具有给定参数的reshape操作是可行且合理的,则输出新的重塑矩阵;否则,输出原始矩阵。Example_1输入:nums =[[1,2],[3,4]]r = 1, c = 4输出:[[1,2,3,4

2021-02-19 17:23:58 142

原创 力扣 leetcode 995. K 连续位的最小翻转次数 (python)

Topic在仅包含 0 和 1 的数组 A 中,一次 K 位翻转包括选择一个长度为 K 的(连续)子数组,同时将子数组中的每个 0 更改为 1,而每个 1 更改为 0。返回所需的 K 位翻转的最小次数,以便数组没有值为 0 的元素。如果不可能,返回 -1。Example_1输入:A = [0,1,0], K = 1输出:2解释:先翻转 A[0],然后翻转 A[2]。Example_2输入:A = [1,1,0], K = 2输出:-1解释:无论我们怎样翻转大小为 2 的子数组,

2021-02-19 17:00:06 250

原创 力扣 leetcode 1004. 最大连续1的个数 III (python)

Topic给定一个由若干 0 和 1 组成的数组 A,我们最多可以将 K 个值从 0 变成 1 。返回仅包含 1 的最长(连续)子数组的长度。Example_1输入:A = [1,1,1,0,0,0,1,1,1,1,0], K = 2输出:6解释:[1,1,1,0,0,1,1,1,1,1,1]粗体数字从 0 翻转到 1,最长的子数组长度为 6。Example_2输入:A = [0,0,1,1,0,0,1,1,1,0,1,1,0,0,0,1,1,1,1], K = 3输出:10

2021-02-19 16:08:45 279

原创 蓝桥杯每日一题(33)矩阵(python)

Topic试题 D: 矩阵【问题描述】把1∼2020放在2×1010的矩阵里。要求同一行中右边的比左边大,同一列中下边的比上边的大。一共有多少种方案?答案很大,你只需要给出方案数除以2020的余数即可。【答案提交】这是一道结果填空题,你只需要算出结果后提交即可。本题的结果为一个 整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。SolutionCodeAnswer...

2021-02-09 03:10:07 1081 5

原创 蓝桥杯每日一题(32)分配口罩(python)

Topic试题 C: 分配口罩【问题描述】某市市长获得了若干批口罩,给定每批口罩的数量,市长要把口罩分配给市内的2所医院。masks = [9090400, 8499400, 5926800, 8547000, 4958200, 4422600, 5751200, 4175600, 6309600, 5865200, 6604400, 4635000, 10663400, 8087200, 4554000]由于物流限制,每一批口罩只能全部分配给其中一家医院。市长希望2所医院获得的口罩总数之差越

2021-02-09 00:29:19 600 1

原创 蓝桥杯每日一题(31)合并检测(python)

Topic试题 B: 合并检测【问题描述】新冠疫情由新冠病毒引起,最近在 A 国蔓延,为了尽快控制疫情,A 国准 备给大量民众进病毒核酸检测。然而,用于检测的试剂盒紧缺。为了解决这一困难,科学家想了一个办法:合并检测。即将从多个人(k 个)采集的标本放到同一个试剂盒中进行检测。如果结果为阴性,则说明这 k 个人都是阴性,用一个试剂盒完成了 k 个人的检测。如果结果为阳性,则说明 至少有一个人为阳性,需要将这 k 个人的样本全部重新独立检测(从理论上看, 如果检测前 k-1 个人都是阴性

2021-02-08 23:58:09 497

原创 力扣 leetcode 978. 最长湍流子数组 (python)双指针 + 直接遍历

Topic当 A 的子数组 A[i], A[i+1], …, A[j] 满足下列条件时,我们称其为湍流子数组:若 i <= k < j,当 k 为奇数时, A[k] > A[k+1],且当 k 为偶数时,A[k] < A[k+1];或 若 i <= k < j,当 k 为偶数时,A[k] > A[k+1] ,且当 k 为奇数时, A[k] < A[k+1]。也就是说如果比较符号在子数组中的每个相邻元素对之间翻转,则该子数组是湍流子数组。返回 A

2021-02-08 03:06:49 436 10

原创 蓝桥杯每日一题(30)单词分析(python)

Topic试题 G: 单词分析时间限制: 1.0s 内存限制: 512.0MB 本题总分:20 分【问题描述】小蓝正在学习一门神奇的语言,这门语言中的单词都是由小写英文字母组成,有些单词很长,远远超过正常英文单词的长度。小蓝学了很长时间也记不住一些单词,他准备不再完全记忆这些单词,而是根据单词中哪个字母出现得最多来分辨单词。现在,请你帮助小蓝,给了一个单词后,帮助他找到出现最多的字母和这个字母出现的次数。【输入格式】输入一行包含一个单词,单词只由小写英文字母组成。【输出

2021-02-07 21:39:20 2965 3

原创 python 判断两数大小并赋值方法运行速度比较

直接用max函数import timetime_start = time.perf_counter_ns()a = 0for i in range(1, 10000): a = max(a, i)time_end = time.perf_counter_ns()time_sum = time_end - time_startprint(time_sum)实际运行效率2075600nsif 语句判断import timetime_start = time.perf_c

2021-02-07 21:25:05 1442

原创 蓝桥杯每日一题(29)成绩统计(python)

Topic试题 F: 成绩统计时间限制: 1.0s 内存限制: 512.0MB本题总分:15 分【问题描述】小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数。如果得分至少是 60 分,则称为及格。如果得分至少为 85 分,则称为优秀。请计算及格率和优秀率,用百分数表示,百分号前的部分四舍五入保留整数。【输入格式】输入的第一行包含一个整数 n,表示考试人数。接下来 n 行,每行包含一个 0 至 100 的整数,表示一个学生的

2021-02-07 20:35:47 1471

原创 力扣 leetcode 665. 非递减数列 (python)

Topic给你一个长度为 n 的整数数组,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列。我们是这样定义一个非递减数列的: 对于数组中所有的 i (0 <= i <= n-2),总满足 nums[i] <= nums[i + 1]。Example_1输入: nums = [4,2,3]输出: true解释: 你可以通过把第一个4变成1来使得它成为一个非递减数列。Example_2输入: nums = [4,2,1]输出: false

2021-02-07 20:10:51 386 1

原创 蓝桥杯每日一题(28)七段码(python)

Topic试题 D: 七段码本题总分:10 分【问题描述】小蓝要用七段码数码管来表示一种特殊的文字。上图给出了七段码数码管的一个图示,数码管中一共有 7 段可以发光的二极管,分别标记为 a, b, c, d, e, f, g。小蓝要选择一部分二极管(至少要有一个)发光来表达字符。在设计字符的表达时,要求所有发光的二极管是连成一片的。例如:b 发光,其他二极管不发光可以用来表达一种字符。例如:c 发光,其他二极管不发光可以用来表达一种字符。这种方案与上一行的方案可以用来表示不同的字符

2021-02-06 21:49:54 1455 8

原创 力扣 leetcode 1423. 可获得的最大点数 (python)滑窗

Topic几张卡牌 排成一行,每张卡牌都有一个对应的点数。点数由整数数组 cardPoints 给出。每次行动,你可以从行的开头或者末尾拿一张卡牌,最终你必须正好拿 k 张卡牌。你的点数就是你拿到手中的所有卡牌的点数之和。给你一个整数数组 cardPoints 和整数 k,请你返回可以获得的最大点数。Example_1输入:cardPoints = [1,2,3,4,5,6,1], k = 3输出:12解释:第一次行动,不管拿哪张牌,你的点数总是 1 。但是,先拿最右边的卡牌将会最大化

2021-02-06 01:13:14 693 1

原创 蓝桥杯每日一题(27)阶乘约数(python)

TopicSolution本题运用到了唯一分解定理简单来说:若正整数n可分解为p1a1*p1a2*…pk^ak其中pi为两两不同的素数,ai为对应指数,则n的约数个数为(1+a1)(1+a2)…(1+ak)如180=22335=22*325180的约数个数为(1+2)(1+2)*(1+1)=18个。一个大于 1 的数不管是质数还是合数一定可以由一个或多个质数乘得。2: 2; 3: 3; 4: 2 * 2; 5: * 5; 6: 2 * 3; 7: * 7; 8:

2021-02-05 20:55:43 1525 2

原创 蓝桥杯每日一题(26)蛇形填数(python)

Topic试题 C: 蛇形填数本题总分:10 分【问题描述】如下图所示,小明用从 1 开始的正整数“蛇形”填充无限大的矩阵。1 2 6 7 15 …3 5 8 14 …4 9 13 …10 12 …11 ……容易看出矩阵第二行第二列中的数是 5。请你计算矩阵中第 20 行第 20 列的数是多少?【答案提交】这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。Solution我们可以在矩阵中寻

2021-02-05 18:34:10 1590 1

原创 蓝桥杯每日一题(25)寻找2020(python)

Topic试题 B: 寻找 2020本题总分:5 分【问题描述】小蓝有一个数字矩阵,里面只包含数字 0 和 2。小蓝很喜欢 2020,他想找到这个数字矩阵中有多少个 2020 。小蓝只关注三种构成 2020 的方式:• 同一行里面连续四个字符从左到右构成 2020。• 同一列里面连续四个字符从上到下构成 2020。• 在一条从左上到右下的斜线上连续四个字符,从左上到右下构成 2020。例如,对于下面的矩阵:220000000000002202000000000022002

2021-02-05 17:48:41 539 1

原创 蓝桥杯每日一题(24):门牌制作(python)

Topic试题 A: 门牌制作本题总分:5 分【问题描述】小蓝要为一条街的住户制作门牌号。这条街一共有 2020 位住户,门牌号从 1 到 2020 编号。小蓝制作门牌的方法是先制作 0 到 9 这几个数字字符,最后根据需要将字符粘贴到门牌上,例如门牌 1017 需要依次粘贴字符 1、0、1、7,即需要 1 个字符 0,2 个字符 1,1 个字符 7。请问要制作所有的 1 到 2020 号门牌,总共需要多少个字符 2?【答案提交】这是一道结果填空的题,你只需要算出结果后提交即可。本

2021-02-05 16:02:22 809 1

原创 力扣 leetcode 1208. 尽可能使字符串相等 (python)滑窗 + 双指针

Topic给你两个长度相同的字符串,s 和 t。将 s 中的第 i 个字符变到 t 中的第 i 个字符需要 |s[i] - t[i]| 的开销(开销可能为 0),也就是两个字符的 ASCII 码值的差的绝对值。用于变更字符串的最大预算是 maxCost。在转化字符串时,总开销应当小于等于该预算,这也意味着字符串的转化可能是不完全的。如果你可以将 s 的子字符串转化为它在 t 中对应的子字符串,则返回可以转化的最大长度。如果 s 中没有子字符串可以转化成 t 中对应的子字符串,则返回 0。Ex

2021-02-05 02:46:41 470 1

原创 蓝桥杯每日一题(23):跑步训练(python)

Topic小明要做一个跑步训练。初始时,小明充满体力,体力值计为 10000 。如果小明跑步,每分钟损耗 600 的体力。如果小明休息,每分钟增加 300 的体力。体力的损耗和增加都是均匀变化的。小明打算跑一分钟、休息一分钟、再跑一分钟、再休息一分钟……如此循环。如果某个时刻小明的体力到达 0 ,他就停止锻炼。请问小明在多久后停止锻炼。为了使答案为整数,请以秒为单位输出答案。答案中只填写数,不填写单位。Solution可以先初始判断一下假设完成时分钟为整数则最后一次是跑步减去最后一

2021-02-04 15:40:31 745 1

原创 力扣 leetcode 643. 子数组最大平均数 I (python)

Topic给定 n 个整数,找出平均数最大且长度为 k 的连续子数组,并输出该最大平均数。Example输入:[1,12,-5,-6,50,3], k = 4输出:12.75解释:最大平均数 (12-5-6+50)/4 = 51/4 = 12.75Tips1 <= k <= n <= 30,000。所给数据范围 [-10,000,10,000]。Solution很明显这也是一道滑动窗口的题目平均数较大则总数一定更大为了增加运行效率仅需在遍历窗口时计算总数

2021-02-04 02:07:12 328 3

原创 蓝桥杯 算法题通用方法输入方法模板 (python)

同一行中输入两个(多个)值比如输入n, m两个数字n, m = map(int, input().split())一行一行输入n行m列的矩阵for i in range(n): a = str(input()) a = a.split(" ") a = list(a) a = map(int, a) a = list(a) data.append(a)data = np.array(data).reshape(n, m) # 将list转换为

2021-02-04 01:43:24 1551 3

原创 蓝桥杯每日一题(22):三升序列(python)

Topic【问题描述】对于一个字母矩阵,我们称矩阵中的一个三升序列是指在矩阵中找到三个字母,它们在同一行,同一列,或者在同一 45 度的斜线上,这三个字母从左向右看、或者从上向下看是递增的。例如,如下矩阵中YQPDBKEZAFYV有BKZ、BEZ、AFY、AFV、AKP、DEF 等 6 个三升序列。注意当三个字母是从左下到右上排列时,从左向右看和从上向下看是不同的顺序。对于下面的 30 行 50 列的矩阵,请问总共有多少个三升序列?VLPWJVVNNZSWFGHSFRBCOIJTPYNE

2021-02-03 23:35:53 459 3

原创 力扣 leetcode 480. 滑动窗口中位数 (python)

Topic中位数是有序序列最中间的那个数。如果序列的长度是偶数,则没有最中间的数;此时中位数是最中间的两个数的平均数。例如:[2,3,4],中位数是 3[2,3],中位数是 (2 + 3) / 2 = 2.5给你一个数组 nums,有一个长度为 k 的窗口从最左端滑动到最右端。窗口中有 k 个数,每次窗口向右移动 1 位。你的任务是找出每次窗口移动后得到的新窗口中元素的中位数,并输出由它们组成的数组。Example给出 nums = [1,3,-1,-3,5,3,6,7],以及 k =

2021-02-03 21:58:39 781

原创 力扣 leetcode 424. 替换后的最长重复字符 (python)

Topic给你一个仅由大写英文字母组成的字符串,你可以将任意位置上的字符替换成另外的字符,总共可最多替换 k 次。在执行上述操作后,找到包含重复字母的最长子串的长度。注意:字符串长度 和 k 不会超过 104。Example_1输入:s = “ABAB”, k = 2输出:4解释:用两个’A’替换为两个’B’,反之亦然。Example_2输入:s = “AABABBA”, k = 1输出:4解释:将中间的一个’A’替换为’B’,字符串变为 “AABBBBA”。子串 “BBB

2021-02-02 21:55:27 470 1

原创 蓝桥杯每日一题(21):扩散(python)

Topic小蓝在一张无限大的特殊画布上作画。这张画布可以看成一个方格图,每个格子可以用一个二维的整数坐标表示。小蓝在画布上首先点了一下几个点:(0, 0), (2020, 11), (11, 14), (2000, 2000)。只有这几个格子上有黑色,其它位置都是白色的。每过一分钟,黑色就会扩散一点。具体的,如果一个格子里面是黑色,它就会扩散到上、下、左、右四个相邻的格子中,使得这四个格子也变成黑色(如果原来就是黑色,则还是黑色)。请问,经过 2020 分钟后,画布上有多少个格子是黑色的。

2021-02-02 21:20:09 549

原创 力扣 leetcode 888. 公平的糖果棒交换 (python)

Topic爱丽丝和鲍勃有不同大小的糖果棒:A[i] 是爱丽丝拥有的第 i 根糖果棒的大小,B[j] 是鲍勃拥有的第 j 根糖果棒的大小。因为他们是朋友,所以他们想交换一根糖果棒,这样交换后,他们都有相同的糖果总量。(一个人拥有的糖果总量是他们拥有的糖果棒大小的总和。)返回一个整数数组 ans,其中 ans[0] 是爱丽丝必须交换的糖果棒的大小,ans[1] 是 Bob 必须交换的糖果棒的大小。如果有多个答案,你可以返回其中任何一个。保证答案存在。Example_1输入:A = [1,1],

2021-02-01 23:54:57 150

空空如也

空空如也

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

TA关注的人

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