
Python刷题
文章平均质量分 55
AdaminaWhisper
菜菜
展开
-
【力扣】岛屿的周长
一、题目给定一个 row x col 的二维网格地图 grid ,其中:grid[i][j] = 1 表示陆地, grid[i][j] = 0 表示水域。网格中的格子 水平和垂直 方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿)。岛屿中没有“湖”(“湖” 指水域在岛屿内部且不和岛屿周围的水相连)。格子是边长为 1 的正方形。网格为长方形,且宽度和高度均不超过 100 。计算这个岛屿的周长。二、代码解析(BF..原创 2022-03-30 21:10:08 · 238 阅读 · 0 评论 -
【力扣】695岛屿的最大面积
目录一、题目二、代码解析三、解题思路(典型BFS岛屿问题)1、容易疏漏的点一、题目给你一个大小为 m x n 的二进制矩阵 grid 。岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。岛屿的面积是岛上值为 1 的单元格的数目。计算并返回 grid 中最大的岛屿面积。如果没有岛屿,则返回面积为 0 。m == grid.leng...原创 2022-03-30 20:47:25 · 491 阅读 · 0 评论 -
【力扣】860柠檬水找零
目录一、题目二、代码解析三、思路总结一、题目在柠檬水摊上,每一杯柠檬水的售价为 5 美元。顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。每位顾客只买一杯柠檬水,然后向你付 5 美元、10 美元或 20 美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付 5 美元。注意,一开始你手头没有任何零钱。给你一个整数数组 bills ,其中 bills[i] 是第 i 位顾客付的账。如果你能给每位顾客正确找零,返回 true ,否则返回 f原创 2022-03-29 22:49:23 · 302 阅读 · 0 评论 -
【力扣】200岛屿数量
目录一、题目二、并查集思路2.1、代码实现2.2、思路总结三、BFS思路3.1代码实现3.2思路总结一、题目给你一个由'1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例 1:输入:grid = [ ["1","1","1","1","0"], ["1","1","0","1","0"],...原创 2022-03-29 22:23:16 · 259 阅读 · 0 评论 -
【力扣】最大子数组和
给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组 是数组中的一个连续部分。示例 1:输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组[4,-1,2,1] 的和最大,为6 。示例 2:输入:nums = [1]输出:1示例 3:输入:nums = [5,4,-1,7,8]输出:23提示:1 <= nums.length <= 105-104 &...原创 2022-03-12 11:03:31 · 286 阅读 · 0 评论 -
【力扣】134加油站
在一条环路上有 n个加油站,其中第 i个加油站有汽油gas[i]升。你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1个加油站需要消耗汽油cost[i]升。你从其中的一个加油站出发,开始时油箱为空。给定两个整数数组 gas 和 cost ,如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1 。如果存在解,则 保证 它是 唯一 的。示例1:输入: gas = [1,2,3,4,5], cost = [3,4,5,1,2]输出: 3解释:从 3 ...原创 2022-03-07 18:38:33 · 723 阅读 · 0 评论 -
【力扣】盛最多水的容器
原创 2022-03-07 11:00:54 · 177 阅读 · 0 评论 -
【力扣】分发饼干
假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i,都有一个胃口值g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j]。如果 s[j]>= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。示例1:输入: g = [1,2,3], s = [1,1]输出: 1解释:你有三个孩子和两块小饼干,3个孩子的胃口值分...原创 2022-03-04 11:40:30 · 317 阅读 · 0 评论 -
【蓝桥杯】买不到的数目
小明开了一家糖果店。他别出心裁:把水果糖包成4颗一包和7颗一包的两种。糖果不能拆包卖。小朋友来买糖的时候,他就用这两种包装来组合。当然有些糖果数目是无法组合出来的,比如要买 10 颗糖。你可以用计算机测试一下,在这种包装情况下,最大不能买到的数量是17。大于17的任何数字都可以用4和7组合出来。本题的要求就是在已知两个包装的数量时,求最大不能组合出的数字。输入格式两个正整数 n,mn,m,表示每种包装中糖的颗数。输出格式一个正整数,表示最大不能买到的糖数。数据原创 2022-03-03 22:19:00 · 322 阅读 · 0 评论 -
【蓝桥杯】兰顿蚂蚁
兰顿蚂蚁,是于1986年,由克里斯·兰顿提出来的,属于细胞自动机的一种。 平面上的正方形格子被填上黑色或白色。在其中一格正方形内有一只“蚂蚁”。 蚂蚁的头部朝向为:上下左右其中一方。 蚂蚁的移动规则十分简单: 若蚂蚁在黑格,右转90度,将该格改为白格,并向前移一格; 若蚂蚁在白格,左转90度,将该格改为黑格,并向前移一格。 规则虽然简单,蚂蚁的行为却十分复杂。刚刚开始时留下的路线都会有接近对称,像是会重复,但不论起始状态如何,蚂蚁经过漫长的混乱活动后,会开辟出一条规则的“高速公.原创 2022-02-27 12:12:53 · 469 阅读 · 0 评论 -
[编程入门题]密码破译
一、解题过程中的盲区1、实现赋值给动态变量名#exec不能成功赋值for i in range(len(li)): exec("'c{} = {}'".format(i+1,li[i]))解决方法:globals()['动态变量名'] = 赋值,这里实现可读可写for i in range(len(li)): globals()['c%s'%(i+1)] = li[i]2、int()只能转化由纯数字组成的字符串int('1')int('a') ...原创 2021-09-27 23:11:50 · 698 阅读 · 0 评论 -
[编程入门题]简单的a+b题解
一、解题过程中盲区1、在IDLE中正常运行,在Dotcpp在线编译中报错:UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-5: ordinal not in range(128) 解决方法:直接在代码段里改成"utf-8"语言编码import sysimport codecssys.std...原创 2021-09-23 21:08:37 · 301 阅读 · 0 评论