dailinqing1984
这个作者很懒,什么都没留下…
展开
-
python解析pdf中的表格
python解析pdf中的表格。原创 2022-10-03 11:55:12 · 519 阅读 · 1 评论 -
动态规划-牛客-BM72 连续子数组的最大和
题目链接描述输入一个长度为n的整型数组array,数组中的一个或连续多个整数组成一个子数组,子数组最小长度为1。求所有子数组的和的最大值。数据范围:1 <= n <= 2\times10^51<=n<=2×105-100 <= a[i] <= 100−100<=a[i]<=100要求:时间复杂度为 O(n)O(n),空间复杂度为 O(n)O(n)进阶:时间复杂度为 O(n)O(n),空间复杂度为 O(1)O(1)示例1输入:[1,-.原创 2022-05-19 00:14:17 · 299 阅读 · 1 评论 -
动态规划-牛客-BM69 把数字翻译成字符串
题目链接描述有一种将字母编码成数字的方式:‘a’->1, ‘b->2’, … , ‘z->26’。我们把一个字符串编码成一串数字,再考虑逆向编译成字符串。由于没有分隔符,数字编码成字母可能有多种编译结果,例如 11 既可以看做是两个 ‘a’ 也可以看做是一个 ‘k’ 。但 10 只可能是 ‘j’ ,因为 0 不能编译成任何结果。现在给一串数字,返回有多少种可能的译码结果数据范围:字符串长度满足 0 < n \le 900<n≤90进阶:空间复杂度 O(n)O.原创 2022-05-18 23:58:36 · 290 阅读 · 0 评论 -
递归-牛客-BM74 数字字符串转化成IP地址
题目链接描述现在有一个只包含数字的字符串,将该字符串转化成IP地址的形式,返回所有可能的情况。例如:给出的字符串为"25525522135",返回[“255.255.22.135”, “255.255.221.35”]. (顺序没有关系)数据范围:字符串长度 0 \le n \le 120≤n≤12要求:空间复杂度 O(n!)O(n!),时间复杂度 O(n!)O(n!)注意:ip地址是由四段数字组成的数字序列,格式如 “x.x.x.x”,其中 x 的范围应当是 [0,255]。示例1.原创 2022-05-18 23:16:03 · 310 阅读 · 0 评论 -
动态规划-牛客-BM67 不同路径的数目(一)
题目链接描述一个机器人在m×n大小的地图的左上角(起点)。机器人每次可以向下或向右移动。机器人要到达地图的右下角(终点)。可以有多少种不同的路径从起点走到终点?备注:m和n小于等于100,并保证计算结果在int范围内数据范围:0 < n,m \le 1000<n,m≤100,保证计算结果在32位整型范围内要求:空间复杂度 O(nm)O(nm),时间复杂度 O(nm)O(nm)进阶:空间复杂度 O(1)O(1),时间复杂度 O(min(n,m))O(min(n,m))示例1.原创 2022-05-18 21:53:18 · 172 阅读 · 0 评论 -
python刷题宝典(7) 动态规划
动态规划递归是从大到小去拆解问题,而动态规划刚好相反,是从小到大去一步一步计算。我们以斐波那契数列为例:#mermaid-svg-he1u3Xg9OhzzPBVu {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-he1u3Xg9OhzzPBVu .error-icon{fill:#552222;}#mermaid-svg-he1u3Xg9OhzzPBVu .error原创 2022-05-16 23:38:24 · 106 阅读 · 0 评论 -
动态规划-牛客-BM79 打家劫舍(二)
题目链接描述你是一个经验丰富的小偷,准备偷沿湖的一排房间,每个房间都存有一定的现金,为了防止被发现,你不能偷相邻的两家,即,如果偷了第一家,就不能再偷第二家,如果偷了第二家,那么就不能偷第一家和第三家。沿湖的房间组成一个闭合的圆形,即第一个房间和最后一个房间视为相邻。给定一个长度为n的整数数组nums,数组中的元素表示每个房间存有的现金数额,请你计算在不被发现的前提下最多的偷窃金额。数据范围:数组长度满足 1 \le n \le 2\times10^5 \1≤n≤2×10 5,数组中每个值满.原创 2022-05-16 23:24:27 · 181 阅读 · 0 评论 -
动态规划-牛客-BM78 打家劫舍(一)
题目链接描述你是一个经验丰富的小偷,准备偷沿街的一排房间,每个房间都存有一定的现金,为了防止被发现,你不能偷相邻的两家,即,如果偷了第一家,就不能再偷第二家;如果偷了第二家,那么就不能偷第一家和第三家。给定一个整数数组nums,数组中的元素表示每个房间存有的现金数额,请你计算在不被发现的前提下最多的偷窃金额。数据范围:数组长度满足 1 \le n \le 2\times 10^5\1≤n≤2×105,数组中每个值满足 1 \le num[i] \le 5000 \1≤num[i]≤5000.原创 2022-05-16 23:19:36 · 184 阅读 · 0 评论 -
正则-牛客-BM76 正则表达式匹配
题目链接描述请实现一个函数用来匹配包括’.‘和’‘的正则表达式。1.模式中的字符’.‘表示任意一个字符2.模式中的字符’‘表示它前面的字符可以出现任意次(包含0次)。在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"abaca"匹配,但是与"aa.a"和"ab*a"均不匹配数据范围:1.str 只包含从 a-z 的小写字母。2.pattern 只包含从 a-z 的小写字母以及字符 . 和 ,无连续的 '’。0 \le str.length .原创 2022-05-16 23:09:53 · 182 阅读 · 0 评论 -
动态规划-力扣-32. 最长有效括号
题目链接给你一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长有效(格式正确且连续)括号子串的长度。示例 1:输入:s = “(()”输出:2解释:最长有效括号子串是 “()”示例 2:输入:s = “)()())”输出:4解释:最长有效括号子串是 “()()”示例 3:输入:s = “”输出:0提示:0 <= s.length <= 3 * 104s[i] 为 ‘(’ 或 ‘)’解题思路如果s[i]是左括号,dp[i]为0如果s[i]是右括号,并且.原创 2022-05-16 23:05:17 · 259 阅读 · 0 评论 -
栈-力扣-32. 最长有效括号
题目链接给你一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长有效(格式正确且连续)括号子串的长度。示例 1:输入:s = “(()”输出:2解释:最长有效括号子串是 “()”示例 2:输入:s = “)()())”输出:4解释:最长有效括号子串是 “()()”示例 3:输入:s = “”输出:0提示:0 <= s.length <= 3 * 104s[i] 为 ‘(’ 或 ‘)’解题思路定义一个栈,放入-1遍历字符串,如果是左括号,将序号放入栈如.原创 2022-05-16 22:19:13 · 157 阅读 · 0 评论 -
动态规划-牛客-BM70 兑换零钱(一)
题目链接描述给定数组arr,arr中所有的值都为正整数且不重复。每个值代表一种面值的货币,每种面值的货币可以使用任意张,再给定一个aim,代表要找的钱数,求组成aim的最少货币数。如果无解,请返回-1.数据范围:数组大小满足 0 \le n \le 100000≤n≤10000 , 数组中每个数字都满足 0 < val \le 100000<val≤10000,0 \le aim \le 50000≤aim≤5000要求:时间复杂度 O(n \times aim)O(n×aim).原创 2022-05-15 22:35:26 · 284 阅读 · 0 评论 -
动态规划-力扣-651. 4键键盘
题目链接假设你有一个特殊的键盘包含下面的按键:A:在屏幕上打印一个 ‘A’。Ctrl-A:选中整个屏幕。Ctrl-C:复制选中区域到缓冲区。Ctrl-V:将缓冲区内容输出到上次输入的结束位置,并显示在屏幕上。现在,你可以 最多 按键 n 次(使用上述四种按键),返回屏幕上最多可以显示 ‘A’ 的个数 。示例 1:输入: n = 3输出: 3解释:我们最多可以在屏幕上显示三个’A’通过如下顺序按键:A, A, A示例 2:输入: n = 7输出: 9解释:我们最多可以在.原创 2022-05-15 21:16:16 · 319 阅读 · 0 评论 -
动态规划-力扣-42. 接雨水
题目链接给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。示例 1:输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]输出:6解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。示例 2:输入:height = [4,2,0,3,2,5]输出:9提示:n == height.length1 <= n <.原创 2022-05-15 21:03:22 · 137 阅读 · 0 评论 -
python刷题宝典(6) 递归
#递归1 算法概述递归算法是一种直接或者间接调用自身函数或者方法的算法。说简单了就是程序自身的调用。2 算法实质递归算法就是将原问题不断分解为规模缩小的子问题,然后递归调用方法来表示问题的解。(用同一个方法去解决规模不同的问题)3 算法思想递归算法,顾名思义就是有两个大的阶段:递和归,即就是有去(递去)有回(归来)。递去:将递归问题分解为若干个规模较小,与原问题形式相同的子问题,这些子问题可以用相同的解题思路来解决归来:当你将问题不断缩小规模递去的时候,必须有一个明确的结束递去的临界点(原创 2022-05-15 19:13:11 · 176 阅读 · 0 评论 -
python刷题宝典(5) 集合
集合集合(set)是一个无序的不重复元素序列。可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。创建格式:parame = {value01,value02,...}或者set(value)>>> basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}>>> print(basket原创 2022-05-15 19:12:10 · 97 阅读 · 0 评论 -
python刷题宝典(4) 正则
正则自做题时碰到一些可以用正则秒解的问题,这里举几个例子了解一下即可,不对正则进行深入学习。德科一星-题目82解题思路:将所有数字分开,如果前面没有负号,分成一位一个,如果有负号,分成一个大负数解法1import retemp = re.split("[a-zA-Z]",input())def fun(strs): res = [] #用-切开 str_num = strs.split('-') #第一个数是负号前面的,一位一位存 for原创 2022-05-15 19:10:56 · 225 阅读 · 0 评论 -
python刷题宝典(3) 排序
#排序1 sortsort() 函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。sort()方法语法:list.sort( key=None, reverse=False)参数key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。reverse – 排序规则,reverse = True 降序, reverse = False 升序(默认)。返回值该方法没有返回值,但是会原创 2022-05-15 14:53:25 · 91 阅读 · 0 评论 -
python刷题宝典(2) itertools
itertools组合操作包括排列,笛卡儿积,或者一些离散元素的选择,组合迭代器就是产生这样序列的迭代器。各种排列组合题都可以直接使用。1 组合迭代器(Combinatoric Iterators)组合操作包括排列,笛卡儿积,或者一些离散元素的选择,组合迭代器就是产生这样序列的迭代器。1.1 productproduct(*iterables, repeat=1) 得到的是可迭代对象的笛卡儿积,*iterables参数表示需要多个可迭代对象。这些可迭代对象之间的笛卡儿积,也可以使用for循环来实现原创 2022-05-15 14:52:32 · 118 阅读 · 0 评论 -
python刷题宝典(1) 基础知识
基础知识准备环境安装:pycharm教程网站:菜鸟教程1 基础输入输出1.1 字符串输入s = input()1.2 数字输入n = int(input())1.3 多个字符串输入strs = input().split()1.4 固定个数字输入a,b = map(int,input().split())知识点: map(fun,list) 对list中的所有元素执行fun,返回map类型1.5 多个数字输入nums = list(map(int,input(原创 2022-05-15 14:50:10 · 203 阅读 · 0 评论 -
python刷题宝典(0) 前言
前言最近在刷算法题,虽然之前用python做了很多工具和网站,但没涉及过算法,连简单的输入输出都没用过,所以进行了一些总结。1 刷题网站刷题主要可以在下面三个地方刷牛客牛客上有两个题库剑指offer不需要写输入输出华为机试需要自己写输入输出力扣题目难度较大,数量多,优点是可以按算法类型筛选,并有详细的视频教程,适合系统学习德科一星题都是简单题,适合初学者,但没有运行调试环境,写完无法判断是否正确2 题解查找力扣上的题目大多都有题解如果没有可以在csdn或小红书上搜原创 2022-05-15 14:42:56 · 230 阅读 · 0 评论 -
贪心算法-力扣-122. 买卖股票的最佳时机 II
题目链接给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买,然后在 同一天 出售。返回 你能获得的 最大 利润 。示例 1:输入:prices = [7,1,5,3,6,4]输出:7解释:在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4 。随后,在第 4 天(股票.原创 2022-05-08 20:49:59 · 3065 阅读 · 0 评论 -
动态规划-力扣-121. 买卖股票的最佳时机
题目链接给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。示例 1:输入:[7,1,5,3,6,4]输出:5解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。注意利润.原创 2022-05-08 16:37:30 · 114 阅读 · 0 评论 -
动态规划-力扣-91. 解码方法
题目链接一条包含字母 A-Z 的消息通过以下映射进行了 编码 :‘A’ -> “1”‘B’ -> “2”…‘Z’ -> “26”要 解码 已编码的消息,所有数字必须基于上述映射的方法,反向映射回字母(可能有多种方法)。例如,“11106” 可以映射为:“AAJF” ,将消息分组为 (1 1 10 6)“KJF” ,将消息分组为 (11 10 6)注意,消息不能分组为 (1 11 06) ,因为 “06” 不能映射为 “F” ,这是由于 “6” 和 “06” 在映射.原创 2022-05-08 16:23:08 · 99 阅读 · 0 评论 -
动态规划-力扣-120. 三角形最小路径和
题目链接给定一个三角形 triangle ,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。也就是说,如果正位于当前行的下标 i ,那么下一步可以移动到下一行的下标 i 或 i + 1 。示例 1:输入:triangle = [[2],[3,4],[6,5,7],[4,1,8,3]]输出:11解释:如下面简图所示:23 46 5 74 1 8 3自顶向下的最小路径.原创 2022-05-08 13:49:57 · 128 阅读 · 0 评论 -
并查集-力扣-721. 账户合并
题目链接给定一个列表 accounts,每个元素 accounts[i] 是一个字符串列表,其中第一个元素 accounts[i][0] 是 名称 (name),其余元素是 emails 表示该账户的邮箱地址。现在,我们想合并这些账户。如果两个账户都有一些共同的邮箱地址,则两个账户必定属于同一个人。请注意,即使两个账户具有相同的名称,它们也可能属于不同的人,因为人们可能具有相同的名称。一个人最初可以拥有任意数量的账户,但其所有账户都具有相同的名称。合并账户后,按以下格式返回账户:每个账户的第一个.原创 2022-05-04 19:37:12 · 332 阅读 · 0 评论 -
并查集-力扣-765. 情侣牵手
题目链接n 对情侣坐在连续排列的 2n 个座位上,想要牵到对方的手。人和座位由一个整数数组 row 表示,其中 row[i] 是坐在第 i 个座位上的人的 ID。情侣们按顺序编号,第一对是 (0, 1),第二对是 (2, 3),以此类推,最后一对是 (2n-2, 2n-1)。返回 最少交换座位的次数,以便每对情侣可以并肩坐在一起。 每次交换可选择任意两人,让他们站起来交换座位。示例 1:输入: row = [0,2,1,3]输出: 1解释: 只需要交换row[1]和row[2]的位置即可.原创 2022-05-04 19:26:33 · 122 阅读 · 0 评论 -
并查集-力扣-547. 省份数量
题目链接有 n 个城市,其中一些彼此相连,另一些没有相连。如果城市 a 与城市 b 直接相连,且城市 b 与城市 c 直接相连,那么城市 a 与城市 c 间接相连。省份 是一组直接或间接相连的城市,组内不含其他没有相连的城市。给你一个 n x n 的矩阵 isConnected ,其中 isConnected[i][j] = 1 表示第 i 个城市和第 j 个城市直接相连,而 isConnected[i][j] = 0 表示二者不直接相连。返回矩阵中 省份 的数量。示例 1:输入:isC.原创 2022-05-04 19:19:49 · 264 阅读 · 0 评论 -
递归-力扣-695. 岛屿的最大面积
题目链接给你一个大小为 m x n 的二进制矩阵 grid 。岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。岛屿的面积是岛上值为 1 的单元格的数目。计算并返回 grid 中最大的岛屿面积。如果没有岛屿,则返回面积为 0 。示例 1:输入:grid = [[0,0,1,0,0,0,0,1,0,0,0,0,0],[0,0,0,0,0,0,0,1,1,1,0,0,.原创 2022-05-04 19:04:22 · 100 阅读 · 0 评论 -
字符串-力扣-459. 重复的子字符串
题目链接给定一个非空的字符串 s ,检查是否可以通过由它的一个子串重复多次构成。示例 1:输入: s = “abab”输出: true解释: 可由子串 “ab” 重复两次构成。示例 2:输入: s = “aba”输出: false示例 3:输入: s = “abcabcabcabc”输出: true解释: 可由子串 “abc” 重复四次构成。 (或子串 “abcabc” 重复两次构成。)提示:1 <= s.length <= 104s 由小写英文字母组成.原创 2022-05-04 18:57:29 · 380 阅读 · 0 评论 -
排序-力扣-剑指 Offer 45. 把数组排成最小的数
题目链接剑指 Offer 45. 把数组排成最小的数输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。示例 1:输入: [10,2]输出: “102”示例 2:输入: [3,30,34,5,9]输出: “3033459”提示:0 < nums.length <= 100说明:输出结果可能非常大,所以你需要返回一个字符串而不是整数拼接起来的数字可能会有前导 0,最后结果不需要去掉前导 0解题思路之前只想到按字符串排.原创 2022-05-01 21:50:38 · 116 阅读 · 0 评论 -
找规律-牛客-HJ22 汽水瓶
题目链接描述某商店规定:三个空汽水瓶可以换一瓶汽水,允许向老板借空汽水瓶(但是必须要归还)。小张手上有n个空汽水瓶,她想知道自己最多可以喝到多少瓶汽水。数据范围:输入的正整数满足 1 \le n \le 100 \1≤n≤100注意:本题存在多组输入。输入的 0 表示输入结束,并不用输出结果。输入描述:输入文件最多包含 10 组测试数据,每个数据占一行,仅包含一个正整数 n( 1<=n<=100 ),表示小张手上的空汽水瓶数。n=0 表示输入结束,你的程序不应当处理这一行。.原创 2022-05-01 11:33:40 · 281 阅读 · 0 评论 -
找规律-牛客-HJ53 杨辉三角的变形
题目链接描述以上三角形的数阵,第一行只有一个数1,以下每行的每个数,是恰好是它上面的数、左上角数和右上角的数,3个数之和(如果不存在某个数,认为该数就是0)。求第n行第一个偶数出现的位置。如果没有偶数,则输出-1。例如输入3,则输出2,输入4则输出3,输入2则输出-1。数据范围: 1 \le n \le 10^9 \1≤n≤10 ^9输入描述:输入一个int整数输出描述:输出返回的int值示例1输入:4复制输出:3解题思路暴力解法会超时找规律,发现从第3行开始,.原创 2022-05-01 11:28:37 · 675 阅读 · 0 评论 -
归并排序-牛客-BM20 数组中的逆序对
题目链接BM20 数组中的逆序对中等 通过率:17.23% 时间限制:3秒 空间限制:64M知识点数组描述在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P mod 1000000007数据范围: 对于 50%50% 的数据, size\leq 10^4size≤104对于 100%100% 的数据, size\leq 10^5 size≤ 105.原创 2022-05-01 11:20:32 · 219 阅读 · 0 评论 -
单调队列-力扣-239. 滑动窗口最大值
题目链接滑动窗口最大值给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回 滑动窗口中的最大值 。示例 1:输入:nums = [1,3,-1,-3,5,3,6,7], k = 3输出:[3,3,5,5,6,7]解释:滑动窗口的位置 最大值[1 3 -1] -3 5 3 6 7 31 [3 -1 -3] 5 3 .原创 2022-05-01 10:39:01 · 1862 阅读 · 0 评论 -
递归-力扣-526. 优美的排列
题目链接优美的排列假设有从 1 到 n 的 n 个整数。用这些整数构造一个数组 perm(下标从 1 开始),只要满足下述条件 之一 ,该数组就是一个 优美的排列 :perm[i] 能够被 i 整除i 能够被 perm[i] 整除给你一个整数 n ,返回可以构造的 优美排列 的 数量 。示例 1:输入:n = 2输出:2解释:第 1 个优美的排列是 [1,2]:- perm[1] = 1 能被 i = 1 整除- perm[2] = 2 能被 i = 2 整除第 2 个优美.原创 2022-04-30 22:38:07 · 239 阅读 · 0 评论 -
递归-力扣-51. N 皇后
题目链接N 皇后n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中 ‘Q’ 和 ‘.’ 分别代表了皇后和空位。示例 1:输入:n = 4输出:[[“.Q…”,“…Q”,“Q…”,“…Q.”],[“…Q.”,“Q…”,“…Q”,“.Q…”]]解释:如上图所示,4 皇后问题存在两个不同的解法。示例 2:输入:n .原创 2022-04-30 22:21:14 · 375 阅读 · 0 评论 -
贪心-力扣-45. 跳跃游戏 II
跳跃游戏 II给你一个非负整数数组 nums ,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。假设你总是可以到达数组的最后一个位置。示例 1:输入: nums = [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。示例 2:输入: nums = [2,3,0,1,4]输出.原创 2022-04-30 22:10:08 · 126 阅读 · 0 评论 -
递归-力扣-200. 岛屿数量
题目链接岛屿数量给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例 1:输入:grid = [[“1”,“1”,“1”,“1”,“0”],[“1”,“1”,“0”,“1”,“0”],[“1”,“1”,“0”,“0”,“0”],[“0”,“0”,“0”,“0”,“0”]]输出:1示例 2:输入:grid = [[.原创 2022-04-30 21:49:12 · 84 阅读 · 0 评论 -
递归-牛客-HJ89 24点运算
牛客链接描述计算24点是一种扑克牌益智游戏,随机抽出4张扑克牌,通过加(+),减(-),乘(*),除(/)四种运算法则计算得到整数24,本问题中,扑克牌通过如下字符或者字符串表示,其中,小写joker表示小王,大写JOKER表示大王:345678910JQKA2jokerJOKER本程序要求实现:输入4张牌,输出一个算式,算式的结果为24点。详细说明:1.运算只考虑加减乘除运算,没有阶乘等特殊运算符号,没有括号,友情提醒,整数除法要当心,是属于整除,比...原创 2022-04-24 23:09:15 · 176 阅读 · 0 评论