自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Windows Docker基于Python制作镜像并上传全过程梳理(含docker hub账号注册),纯小白适用

我在一个python文件中写了若干计算方法,可以直接运行这个python文件,传入指定参数,得到计算结果。现在要将它和它的依赖包打包成一个docker镜像,方便在其他环境中使用。

2025-03-31 17:07:01 950

原创 Docker Hub注册账号,多次更换邮箱仍显示Cannot use this email address, choose a different one.(邮箱不可用)问题解决

为了将制作好的镜像上传到docker hub,需要注册docker hub账号。但是无论输入什么邮箱都会显示Cannot use this email address, choose a different one.

2025-03-31 16:25:22 200

原创 Docker构建镜像报错ERROR [internal] load metadata for docker.io/library/XXX

结果报错:ERROR [internal] load metadata for docker.io/library/python:3.12。

2025-03-31 14:57:47 319

原创 leetcode刷题记录(一百二十九)——208. 实现 Trie (前缀树)

(发音类似 "try")或者说是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补全和拼写检查。Trie()wordwordtruefalsewordprefixtruefalse// 返回 True// 返回 False// 返回 True// 返回 TrueprefixinsertsearchstartsWith3 * 104。

2025-02-28 18:13:00 795

原创 leetcode刷题记录(一百二十八)——207. 课程表

你这个学期必须选修numCourses门课程,记为0到。在选修某些课程之前需要一些先修课程。先修课程按数组给出,其中,表示如果要学习课程ai则先学习课程bi。[0, 1]01请你判断是否可能完成所有课程的学习?如果可以,返回true;否则,返回false。true总共有 2 门课程。学习课程 1 之前,你需要完成课程 0。这是可能的。false总共有 2 门课程。学习课程 1 之前,你需要先完成​课程 0;并且学习课程 0 之前,你还应先完成课程 1。这是不可能的。

2025-02-28 16:42:59 530

原创 leetcode刷题记录(一百二十七)——994. 腐烂的橘子

994. 腐烂的橘子 - 力扣(LeetCode)994. 腐烂的橘子 - 在给定的 m x n 网格 grid 中,每个单元格可以有以下三个值之一: * 值 0 代表空单元格;* 值 1 代表新鲜橘子;* 值 2 代表腐烂的橘子。每分钟,腐烂的橘子 周围 4 个方向上相邻 的新鲜橘子都会腐烂。返回 直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。如果不可能,返回 -1。

2025-02-27 20:43:43 732

原创 leetcode刷题记录(一百二十六)——200. 岛屿数量

给你一个由'1'(陆地)和'0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。

2025-02-27 19:25:25 898

原创 leetcode刷题记录(一百二十五)——1143. 最长公共子序列

1143. 最长公共子序列 - 力扣(LeetCode)1143. 最长公共子序列 - 给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。* 例如,"ace" 是 "abcde" 的子序列,但 "aec" 不是 "abcde" 的子序列。

2025-02-27 10:46:45 963

原创 leetcode刷题记录(一百二十四)——79. 单词搜索

79. 单词搜索 - 力扣(LeetCode)79. 单词搜索 - 给定一个 m x n 二维字符网格 board 和一个字符串单词 word。如果 word 存在于网格中,返回 true;否则,返回 false。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。

2025-02-26 22:08:59 662

原创 leetcode刷题记录(一百二十三)——22. 括号生成

22. 括号生成 - 力扣(LeetCode)22. 括号生成 - 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例 1:输入:n = 3输出:["((()))","(()())","(())()","()(())","()()()"]示例 2:输入:n = 1输出:["()"] 提示: * 1 <= n <= 8数字n代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且括号组合。

2025-02-25 22:02:29 273

原创 leetcode刷题记录(一百二十二)——51. N 皇后

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

2025-02-25 21:17:16 708

原创 leetcode刷题记录(一百二十一)——46. 全排列

给定一个不含重复数字的数组nums,返回其所有可能的全排列。你可以返回答案。

2025-02-25 17:18:58 182

原创 leetcode刷题记录(一百二十一)——78. 子集

给你一个整数数组nums,数组中的元素。返回该数组所有可能的子集(幂集)。解集包含重复的子集。你可以按返回解集。

2025-02-25 16:16:30 273

原创 leetcode刷题记录(一百二十)——131. 分割回文串

给你一个字符串s,请你将s分割成一些子串,使每个子串都是。返回s所有可能的分割方案。

2025-02-25 16:07:32 198

原创 leetcode刷题记录(一百一十九)——17. 电话号码的字母组合

17. 电话号码的字母组合 - 力扣(LeetCode)17. 电话号码的字母组合 - 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。

2025-02-25 15:31:42 554

原创 leetcode刷题记录(一百一十八)——39. 组合总和

给你一个的整数数组candidates和一个目标整数target,找出candidates中可以使数字和为目标数target的 所有,并以列表形式返回。你可以按返回这些组合。candidates中的数字可以。如果至少一个数字的被选数量不同,则两种组合是不同的。对于给定的输入,保证和为target的不同组合数少于150个。[2,3,6,7], target =72 和 3 可以形成一组候选,2 + 2 + 3 = 7。注意 2 可以使用多次。7 也是一个候选, 7 = 7。仅有这两种组合。

2025-02-24 22:41:46 425

原创 leetcode刷题记录(一百一十七)——72. 编辑距离

72. 编辑距离 - 力扣(LeetCode)72. 编辑距离 - 给你两个单词 word1 和 word2, 请返回将 word1 转换成 word2 所使用的最少操作数。

2025-02-23 11:23:56 800

原创 leetcode刷题记录(一百一十六)——5. 最长回文子串

5. 最长回文子串 - 力扣(LeetCode)5. 最长回文子串 - 给你一个字符串 s,找到 s 中最长的 回文 子串。示例 1:输入:s = "babad"输出:"bab"解释:"aba" 同样是符合题意的答案。示例 2:输入:s = "cbbd"输出:"bb" 提示: * 1 <= s.length <= 1000 * s 仅由数字和英文字母组成给你一个字符串s,找到s中最长的 回文 子串。"bab""aba" 同样是符合题意的答案。

2025-02-22 21:44:32 325

原创 leetcode刷题记录(一百一十五)——64. 最小路径和

64. 最小路径和 - 力扣(LeetCode)64. 最小路径和 - 给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例 1:[https://assets.leetcode.com/uploads/2020/11/05/minpath.jpg]输入:grid = [[1,3,1],[1,5,1],[4,2,1]]输出:7解释:因为路径 1→3→1→1→1 的总和最小。

2025-02-22 20:39:36 832

原创 leetcode刷题记录(一百一十四)——62. 不同路径

一个机器人位于一个m x n网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?283从左上角开始,总共有 3 条路径可以到达右下角。1. 向右 -> 向下 -> 向下2. 向下 -> 向下 -> 向右3. 向下 -> 向右 -> 向下2862 * 109。

2025-02-22 18:03:26 184

原创 leetcode刷题记录(一百一十三)——32. 最长有效括号

32. 最长有效括号 - 力扣(LeetCode)32. 最长有效括号 - 给你一个只包含 '(' 和 ')' 的字符串,找出最长有效(格式正确且连续)括号子串的长度。示例 1:输入:s = "(()"输出:2解释:最长有效括号子串是 "()"示例 2:输入:s = ")()())"输出:4解释:最长有效括号子串是 "()()"示例 3:输入:s = ""输出:0 提示: * 0 <= s.length <= 3 * 104 * s[i] 为 '(' 或 ')'s = "(()"2。

2025-02-22 17:40:22 474

原创 leetcode刷题记录(一百一十二)——416. 分割等和子集

416. 分割等和子集 - 力扣(LeetCode)416. 分割等和子集 - 给你一个 只包含正整数 的 非空 数组 nums。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。示例 1:输入:nums = [1,5,11,5]输出:true解释:数组可以分割成 [1, 5, 5] 和 [11]。示例 2:输入:nums = [1,2,3,5]输出:false解释:数组不能分割成两个元素和相等的子集。

2025-02-22 15:22:18 850

原创 leetcode刷题记录(一百一十一)——152. 乘积最大子数组

152. 乘积最大子数组 - 力扣(LeetCode)152. 乘积最大子数组 - 给你一个整数数组 nums ,请你找出数组中乘积最大的非空连续 子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。测试用例的答案是一个 32-位 整数。示例 1:输入: nums = [2,3,-2,4]输出: 6解释: 子数组 [2,3] 有最大乘积 6。示例 2:输入: nums = [-2,0,-1]输出: 0解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。

2025-02-22 11:29:10 693

原创 leetcode刷题记录(一百一十)——300. 最长递增子序列

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

2025-02-21 21:41:31 726

原创 leetcode刷题记录(一百零九)——139. 单词拆分

139. 单词拆分 - 力扣(LeetCode)139. 单词拆分 - 给你一个字符串 s 和一个字符串列表 wordDict 作为字典。如果可以利用字典中出现的一个或多个单词拼接出 s 则返回 true。注意:不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。示例 1:输入: s = "leetcode", wordDict = ["leet", "code"]输出: true解释: 返回 true 因为 "leetcode" 可以由 "leet" 和 "code" 拼接成。

2025-02-21 21:00:30 902

原创 leetcode刷题记录(一百零八)——322. 零钱兑换

322. 零钱兑换 - 力扣(LeetCode)322. 零钱兑换 - 给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。计算并返回可以凑成总金额所需的 最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。你可以认为每种硬币的数量是无限的。

2025-02-21 20:01:50 739

原创 leetcode刷题记录(一百零七)——279. 完全平方数

279. 完全平方数 - 力扣(LeetCode)279. 完全平方数 - 给你一个整数 n ,返回 和为 n 的完全平方数的最少数量。完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9 和 16 都是完全平方数,而 3 和 11 不是。示例 1:输入:n = 12输出:3 解释:12 = 4 + 4 + 4示例 2:输入:n = 13输出:2解释:13 = 4 + 9 提示: * 1 <= n <= 104给你一个整数n,返回和为n。

2025-02-21 19:40:55 734

原创 leetcode刷题记录(一百零六)——198. 打家劫舍

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

2025-02-17 12:43:58 881

原创 leetcode刷题记录(一百零五)——118. 杨辉三角

118. 杨辉三角 - 力扣(LeetCode)118. 杨辉三角 - 给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。

2025-02-17 12:23:13 480

原创 leetcode刷题记录(一百零四)——70. 爬楼梯

70. 爬楼梯 - 力扣(LeetCode)70. 爬楼梯 - 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?示例 1:输入:n = 2输出:2解释:有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入:n = 3输出:3解释:有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 阶2. 1 阶 + 2 阶3. 2 阶 + 1 阶 提示: * 1 <= n <= 45假设你正在爬楼梯。需要n阶你才能到达楼顶。

2025-02-17 11:34:19 717

原创 leetcode刷题记录(一百零三)——763. 划分字母区间

763. 划分字母区间 - 力扣(LeetCode)763. 划分字母区间 - 给你一个字符串 s。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。例如,字符串 "ababcc" 能够被分为 ["abab", "cc"],但类似 ["aba", "bcc"] 或 ["ab", "ab", "cc"] 的划分是非法的。注意,划分结果需要满足:将所有划分结果按顺序连接,得到的字符串仍然是 s。返回一个表示每个字符串片段的长度的列表。

2025-02-17 11:08:01 889

原创 leetcode刷题记录(一百零二)——45. 跳跃游戏 II

45. 跳跃游戏 II - 力扣(LeetCode)45. 跳跃游戏 II - 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。每个元素 nums[i] 表示从索引 i 向后跳转的最大长度。换句话说,如果你在 nums[i] 处,你可以跳转到任意 nums[i + j] 处: * 0 <= j <= nums[i] * i + j < n返回到达 nums[n - 1] 的最小跳跃次数。生成的测试用例可以到达 nums[n - 1]。

2025-02-13 11:11:31 729

原创 leetcode刷题记录(一百零一)——55. 跳跃游戏

给你一个非负整数数组nums,你最初位于数组的。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标,如果可以,返回true;否则,返回false。true可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。false无论怎样,总会到达下标为 3 的位置。但该下标的最大跳跃长度是 0 , 所以永远不可能到达最后一个下标。

2025-02-12 17:56:37 240

原创 leetcode刷题记录(一百)——121. 买卖股票的最佳时机

121. 买卖股票的最佳时机 - 力扣(LeetCode)121. 买卖股票的最佳时机 - 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0。

2025-01-26 23:24:50 793

原创 leetcode刷题记录(九十九)——287. 寻找重复数

287. 寻找重复数 - 力扣(LeetCode)287. 寻找重复数 - 给定一个包含 n + 1 个整数的数组 nums ,其数字都在 [1, n] 范围内(包括 1 和 n),可知至少存在一个重复的整数。假设 nums 只有 一个重复的整数 ,返回 这个重复的数。你设计的解决方案必须 不修改 数组 nums 且只用常量级 O(1) 的额外空间。

2025-01-26 23:00:39 1093

原创 leetcode刷题记录(九十八)——31. 下一个排列

31. 下一个排列 - 力扣(LeetCode)31. 下一个排列 - 整数数组的一个 排列 就是将其所有成员以序列或线性顺序排列。* 例如,arr = [1,2,3] ,以下这些都可以视作 arr 的排列:[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1]。整数数组的 下一个排列 是指其整数的下一个字典序更大的排列。更正式地,如果数组的所有排列根据其字典顺序从小到大排列在一个容器中,那么数组的 下一个排列 就是在这个有序容器中排在它后面的那个排列。

2025-01-26 16:58:26 825

原创 leetcode刷题记录(九十七)——75. 颜色分类

75. 颜色分类 - 力扣(LeetCode)75. 颜色分类 - 给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums ,原地 [https://baike.baidu.com/item/%E5%8E%9F%E5%9C%B0%E7%AE%97%E6%B3%95] 对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。必须在不使用库内置的 sort 函数的情况下解决这个问题。

2025-01-26 15:51:37 813

原创 leetcode刷题记录(九十六)——169. 多数元素

169. 多数元素 - 力扣(LeetCode)169. 多数元素 - 给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。

2025-01-26 15:25:35 570

原创 leetcode刷题记录(九十五)——136. 只出现一次的数字

136. 只出现一次的数字 - 力扣(LeetCode)136. 只出现一次的数字 - 给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。

2025-01-26 15:08:06 672

原创 leetcode刷题记录(九十四)——4. 寻找两个正序数组的中位数

4. 寻找两个正序数组的中位数 - 力扣(LeetCode)4. 寻找两个正序数组的中位数 - 给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数。算法的时间复杂度应该为 O(log (m+n))。

2025-01-26 14:38:02 729

空空如也

空空如也

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

TA关注的人

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