自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 42. 接雨水(困难)

解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]输入:height = [4,2,0,3,2,5]

2024-06-01 06:50:28 217

原创 11. 盛最多水的容器(中等)

给定一个长度为 n 的整数数组 height。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i])。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。输入:[1,8,6,2,5,4,8,3,7]输入:height = [1,1]说明:你不能倾斜容器。

2024-06-01 06:43:57 293

原创 元组知识点介绍

元组看起来犹如列表,但使用圆括号而不是方括号来标识。元组中的元素是不可修改的。如要修改则需要给变量重新赋值,也就是重新建立一个新的同名的元组。

2024-05-04 08:03:29 129

原创 打印到一行

【代码】打印到一行。

2024-05-04 08:02:44 145

原创 Python中的解析

【代码】Python中的解析。

2024-05-03 07:06:03 488

原创 字符串与列表互换

【代码】字符串与列表互换。

2024-05-03 07:05:29 17

原创 字符串切片【startindex:endindex】

【代码】字符串切片【startindex:endindex】

2024-05-02 08:36:12 8 1

原创 重复输出n次【*n】

【代码】重复输出n次【*n】

2024-05-02 07:47:50 175

原创 Python基础知识

名称力扣地址难度标签

2024-05-02 07:18:07 101 2

原创 137. 只出现一次的数字 II(中等)

给你一个整数数组 nums ,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次。请你找出并返回那个只出现了一次的元素。你必须设计并实现线性时间复杂度的算法且使用常数级空间来解决此问题。输入:nums = [2,2,3,2]

2024-01-31 20:34:14 129

原创 318. 最大单词长度乘积(中等)

给你一个字符串数组 words ,找出并返回 length(words[i]) * length(words[j]) 的最大值,并且这两个单词不含有公共字母。如果不存在这样的两个单词,返回 0。输入:words = [“abcw”,“baz”,“foo”,“bar”,“xtfn”,“abcdef”]解释:这两个单词为 “abcw”, “xtfn”。

2024-01-31 20:31:37 312

原创 409. 最长回文串(简单)

给定一个包含大写字母和小写字母的字符串 s ,返回 通过这些字母构造成的 最长的回文串。在构造过程中,请注意 区分大小写。比如 “Aa” 不能当做一个回文字符串。我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。输入:s = “abccccdd”

2024-01-29 22:17:54 247

原创 455. 分发饼干(简单)

假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。虽然你有两块小饼干,由于他们的尺寸都是1,你只能让胃口值是1的孩子满足。你有三个孩子和两块小饼干,3个孩子的胃口值分别是:1,2,3。输入: g = [1,2,3], s = [1,1]

2024-01-29 22:12:46 236

原创 516. 最长回文子序列(中等)

子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列。给你一个字符串 s ,找出其中最长的回文子序列,并返回该序列的长度。解释:一个可能的最长回文子序列为 “bbbb”。输入:s = “bbbab”

2024-01-28 07:59:49 81

原创 72. 编辑距离(中等)

给你两个单词 word1 和 word2, 请返回将 word1 转换成 word2 所使用的最少操作数。输入:word1 = “horse”, word2 = “ros”horse -> rorse (将 ‘h’ 替换为 ‘r’)rorse -> rose (删除 ‘r’)rose -> ros (删除 ‘e’)

2024-01-28 07:54:32 199

原创 718. 最长重复子数组(中等)

给两个整数数组 nums1 和 nums2 ,返回 两个数组中 公共的 、长度最长的子数组的长度。输入:nums1 = [1,2,3,2,1], nums2 = [3,2,1,4,7]解释:长度最长的公共子数组是 [3,2,1]。

2024-01-27 20:05:19 90

原创 115. 不同的子序列(困难)

给你两个字符串 s 和 t ,统计并返回在 s 的 子序列 中 t 出现的个数,结果需要对 109 + 7 取模。如下所示, 有 3 种可以从 s 中得到 “rabbit” 的方案。输入:s = “rabbbit”, t = “rabbit”

2024-01-26 19:45:44 641

原创 583. 两个字符串的删除操作(中等)

给定两个单词 word1 和 word2 ,返回使得 word1 和 word2 相同所需的最小步数。每步 可以删除任意一个字符串中的一个字符。解释: 第一步将 “sea” 变为 “ea” ,第二步将 "eat "变为 “ea”输入: word1 = “sea”, word2 = “eat”

2024-01-25 22:40:20 433

原创 1035. 不相交的线(中等)

在两条独立的水平线上按给定的顺序写下 nums1 和 nums2 中的整数。现在,可以绘制一些连接两个数字 nums1[i] 和 nums2[j] 的直线,这些直线需要同时满足满足:nums1[i] == nums2[j]但无法画出第三条不相交的直线,因为从 nums1[1]=4 到 nums2[2]=4 的直线将与从 nums1[2]=2 到 nums2[1]=2 的直线相交。输入:nums1 = [1,4,2], nums2 = [1,2,4]解释:可以画出两条不交叉的线,如上图所示。

2024-01-24 21:55:35 628

原创 1143. 最长公共子序列(中等)

给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。两个字符串的 公共子序列 是这两个字符串所共同拥有的子序列。输入:text1 = “abcde”, text2 = “ace”解释:最长公共子序列是 “ace” ,它的长度为 3。

2024-01-23 22:01:34 545

原创 674. 最长连续递增序列(简单)

连续递增的子序列 可以由两个下标 l 和 r(l < r)确定,如果对于每个 l <= i < r,都有 nums[i] < nums[i + 1] ,那么子序列 [nums[l], nums[l + 1], …, nums[r - 1], nums[r]] 就是连续递增子序列。尽管 [1,3,5,7] 也是升序的子序列, 但它不是连续的,因为 5 和 7 在原数组里被 4 隔开。解释:最长连续递增序列是 [1,3,5], 长度为3。输入:nums = [1,3,5,4,7]

2024-01-21 09:31:15 565

原创 300. 最长递增子序列(中等)

给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。解释:最长递增子序列是 [2,3,7,101],因此长度为 4。输入:nums = [10,9,2,5,3,7,101,18]

2024-01-21 09:28:40 434

原创 714. 买卖股票的最佳时机含手续费(中等)

给定一个整数数组 prices,其中 prices[i]表示第 i 天的股票价格;如果你已经购买了一个股票,在卖出它之前你就不能再继续购买股票了。返回获得利润的最大值。注意:这里的一笔交易指买入持有并卖出股票的整个过程,每笔交易你只需要为支付一次手续费。输入:prices = [1, 3, 2, 8, 4, 9], fee = 2。总利润: ((8 - 1) - 2) + ((9 - 4) - 2) = 8。在此处卖出 prices[3] = 8。在此处买入 prices[4] = 4。

2024-01-20 07:32:21 419

原创 309. 买卖股票的最佳时机含冷冻期(中等)

给定一个整数数组prices,其中第 prices[i] 表示第 i 天的股票价格。​设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):卖出股票后,你无法在第二天买入股票 (即冷冻期为 1 天)。解释: 对应的交易状态为: [买入, 卖出, 冷冻期, 买入, 卖出]注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。输入: prices = [1,2,3,0,2]

2024-01-19 23:25:38 330

原创 188. 买卖股票的最佳时机 IV(困难)

给你一个整数数组 prices 和一个整数 k ,其中 prices[i] 是某支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 k 笔交易。也就是说,你最多可以买 k 次,卖 k 次。解释:在第 1 天 (股票价格 = 2) 的时候买入,在第 2 天 (股票价格 = 4) 的时候卖出,这笔交易所能获得利润 = 4-2 = 2。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。输入:k = 2, prices = [2,4,1]

2024-01-18 20:05:24 942

原创 123. 买卖股票的最佳时机 III(困难)

解释:在第 4 天(股票价格 = 0)的时候买入,在第 6 天(股票价格 = 3)的时候卖出,这笔交易所能获得利润 = 3-0 = 3。随后,在第 7 天(股票价格 = 1)的时候买入,在第 8 天 (股票价格 = 4)的时候卖出,这笔交易所能获得利润 = 4-1 = 3。给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。你最多可以完成 两笔 交易。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。输入:prices = [3,3,5,0,0,3,1,4]

2024-01-17 22:47:56 609

原创 122. 买卖股票的最佳时机 II(中等)

解释:在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4。随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6 - 3 = 3。总利润为 4 + 3 = 7。在每一天,你可以决定是否购买和/或出售股票。给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。输入:prices = [7,1,5,3,6,4]

2024-01-16 22:48:38 699

原创 121. 买卖股票的最佳时机(简单)

解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;同时,你不能在买入前卖出股票。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。输入:[7,1,5,3,6,4]

2024-01-15 22:30:11 584

原创 213. 打家劫舍 II(中等)(LCR 090)

你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都 围成一圈 ,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 在不触动警报装置的情况下 ,今晚能够偷窃到的最高金额。解释:你不能先偷窃 1 号房屋(金额 = 2),然后偷窃 3 号房屋(金额 = 2), 因为他们是相邻的。输入:nums = [2,3,2]

2024-01-14 08:31:44 494

原创 198. 打家劫舍(中等)(LCR 089)

你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。偷窃到的最高金额 = 1 + 3 = 4。输入:[1,2,3,1]

2024-01-14 07:46:04 425

原创 416. 分割等和子集(中等)

给你一个 只包含正整数 的 非空 数组 nums。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。解释:数组可以分割成 [1, 5, 5] 和 [11]。输入:nums = [1,5,11,5]

2024-01-13 10:19:50 455

原创 96. 不同的二叉搜索树(中等)

给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。

2024-01-12 23:09:32 518

原创 343. 整数拆分(中等)

给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k >= 2 ),并使这些整数的乘积最大化。解释: 2 = 1 + 1, 1 × 1 = 1。返回 你可以获得的最大乘积。

2024-01-11 20:53:14 677

原创 64. 最小路径和(中等)

给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。输入:grid = [[1,3,1],[1,5,1],[4,2,1]]解释:因为路径 1→3→1→1→1 的总和最小。说明:每次只能向下或者向右移动一步。

2024-01-10 23:25:08 488

原创 63. 不同路径 II(中等)

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空位置分别用 1 和 0 来表示。输入:obstacleGrid = [[0,0,0],[0,1,0],[0,0,0]]解释:3x3 网格的正中间有一个障碍物。

2024-01-09 22:00:04 634

原创 62. 不同路径(中等)

机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。输入:m = 3, n = 7。问总共有多少条不同的路径?

2024-01-08 23:03:52 540

原创 746. 使用最小花费爬楼梯(简单)

给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。请你计算并返回达到楼梯顶部的最低花费。- 支付 15 ,向上爬两个台阶,到达楼梯顶部。输入:cost = [10,15,20]解释:你将从下标为 1 的台阶开始。

2024-01-07 07:52:21 594

原创 51. N 皇后(困难)

按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中 ‘Q’ 和 ‘.’ 分别代表了皇后和空位。解释:如上图所示,4 皇后问题存在两个不同的解法。

2024-01-07 07:50:14 417

原创 17. 电话号码的字母组合(中等)

输出:[“ad”,“ae”,“af”,“bd”,“be”,“bf”,“cd”,“ce”,“cf”]给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。输入:digits = “23”

2024-01-06 18:34:11 420

原创 93. 复原 IP 地址(中等)

给定一个只包含数字的字符串 s ,用以表示一个 IP 地址,返回所有可能的有效 IP 地址,这些地址可以通过在 s 中插入 ‘.’ 来形成。例如:“0.1.2.201” 和 “192.168.1.1” 是 有效 IP 地址,但是 “0.011.255.245”、“192.168.1.312” 和 “192.168@1.1” 是 无效 IP 地址。有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 ‘.’ 分隔。输入:s = “25525511135”

2024-01-05 20:21:45 529

空空如也

空空如也

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

TA关注的人

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