自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

长孤秋落的札记

0o落霞与孤鹜齐飞,秋水共长天一色o0 费米玻色陌路,波粒二象一体 哈勃定律-泡利原理-洪特规则 我往哪去/我从哪来/我是谁

  • 博客(139)
  • 收藏
  • 关注

原创 Deepin基本环境查看(十二)【补齐碎片之旅(下)-常用软件(办公、娱乐、开发)】

介绍完Deepin的生态圈和基本附件,接下来介绍一些在Deepin使用中的常见软件,涵盖办公、娱乐、开发等部分。由于Linux是开源软件的乐土,各路大神的神来之笔琳琅满目,使用者的习惯又天差地别,所以大部分功能都是有许多选择的,就只介绍其中一种较为知名的软件,更多的软件就请大家自行深入了解。本文介绍的基本软件,部分来自Deepin自带软件,其他部分则来自Deepin生态圈【应用商店】

2024-02-26 15:17:49 3676

原创 Python基础篇_修饰符(Decorators)【下】

Python中有多种修饰符,这些修饰符用于指定方法的特殊行为或属性,也是用于修改函数行为的特殊参数。本文对抽象方法、函数重载、上下文管理进行了举例说明

2024-02-09 15:00:00 1907

原创 Python基础_any()和all()

any() 和 all() 是 Python 中的内置函数,它们分别用于测试可迭代对象(如列表、元组、集合等)中的元素是否满足某个条件。如果没有提供任何可迭代对象,any() 和 all() 函数都返回 False。如果是空的可迭代对象,any() 函数返回 False,而 all() 函数返回 True。

2024-03-13 21:43:38 390 1

原创 Python算法题集_寻找旋转排序数组中的最小值

题目153. 寻找旋转排序数组中的最小值:提示 已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums = [0,1,2,4,5,6,7] 在变化后可能得到: 若旋转 4 次,则可以得到 [4,5,6,7,0,1,2] 若旋转 7 次,则可以得到 [0,1,2,4,5,6,7]

2024-03-13 19:54:00 772

原创 Python算法题集_搜索旋转排序数组

题目33. 搜索旋转排序数组:整数数组 nums 按升序排列,数组中的值 互不相同 。在传递给函数之前,nums 在预先未知的某个下标 k(0

2024-03-12 22:26:54 844

原创 Python模块百科_操作系统接口_os[四]

用自己的方式来理解Python的常用模块;os 模块是最常用的模块之一,提供了与操作系统交互的多种功能。可以使用 os 模块来执行文件或目录操作,如读取或修改环境变量、访问命令行参数、处理文件路径、执行系统命令等

2024-03-12 19:58:12 1264

原创 Python基础_多进程数据共享

Python中多进程之间的数据共享是一个复杂的主题,因为每个进程都有自己的内存空间和独立的Python解释器实例。这意味着它们不能直接共享数据,就像线程那样。但是,Python提供了几种方法来间接地实现多进程之间的数据共享。

2024-03-11 18:50:50 1180

原创 Python_使用带AES的压缩算法模块PyZipper

PyZipper 是一个用于创建、读取和修改 ZIP 文件的 Python 库,支持 AES 加密,提供了比标准库 zipfile 更多的功能

2024-03-11 09:35:41 525

原创 Python_三元表达式的四合一效果

Python中的三元表达式虽然简单,但在简化代码中实用性极强。一个简单的判断语句,一般是四行代码,通过三元表达式可以仅一行代码完成,代码块简洁优雅,余味绕梁。

2024-03-10 21:44:52 400

原创 Python模块百科_操作系统接口_os【三】

用自己的方式来理解Python的常用模块;os 模块是最常用的模块之一,提供了与操作系统交互的多种功能。可以使用 os 模块来执行文件或目录操作,如读取或修改环境变量、访问命令行参数、处理文件路径、执行系统命令等

2024-03-10 20:36:43 918

原创 Python_短路计算.md

Python中,短路计算(Short-circuit evaluation)指的是在布尔运算(and`或 or)中,当根据已有的条件能够确定整个表达式的最终结果时,剩余的条件将不再被评估。这也被称为"最小求值"(Minimal Evaluation)。短路计算可以用来将多次条件判断写在一行内,使代码变得简洁优雅。

2024-03-09 22:44:08 445 1

原创 Python算法题集_在排序数组中查找元素的第一个和最后一个位置

题目34. 在排序数组中查找元素的第一个和最后一个位置;给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1, -1]。你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。

2024-03-09 21:33:33 921

原创 Python算法题集_搜索二维矩阵

题目74. 搜索二维矩阵:给你一个满足下述两条属性的 m x n 整数矩阵:每行中的整数从左到右按非严格递增顺序排列。每行的第一个整数大于前一行的最后一个整数。给你一个整数 target ,如果 target 在矩阵中,返回 true ;否则,返回 false 。

2024-03-08 21:49:00 1168

原创 Docker容器与宿主机、容器与容器之间的文件拷贝

日常工作中操作docker容器,经常需要在容器和主机之间进行文件拷贝。docker cp`命令用于在 docker 容器和宿主机之间复制文件或目录,可以帮助我们完成对应的工作。本文说明如何实现在容器与宿主机、容器与容器之间进行文件拷贝。

2024-03-08 20:50:39 364

原创 Python算法题集_搜索插入位置

题目35. 搜索插入位置:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。

2024-03-07 19:40:10 824

原创 Python模块百科_操作系统接口_os【二】

用自己的方式来理解Python的常用模块;os 模块是最常用的模块之一,提供了与操作系统交互的多种功能。可以使用 os 模块来执行文件或目录操作,如读取或修改环境变量、访问命令行参数、处理文件路径、执行系统命令等

2024-03-07 16:32:13 1048

原创 Python算法题集_N 皇后

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

2024-03-06 20:06:57 816

原创 在Linux和Docker中使用nohup进行后台任务管理

在Linux操作系统(Deepin、Ubuntu)中,经常需要将程序长时间运行,不希望终端关闭时程序关闭,这时候可以使用nohup命令来实现在命令行终端运行后台程序的目的。另外,在docker环境下运行脚本时,常常将运行程序放在后台,保持前台交互,更是需要频繁使用nohup命令。

2024-03-06 17:33:42 712

原创 Python算法题集_分割回文串

题目131. 分割回文串:给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 。返回 s 所有可能的分割方案。回文串 是正着读和反着读都一样的字符串。

2024-03-05 19:04:36 741

原创 在Linux中使用docker【下】(常见命令下)

Docker是一个强大的工具神器,它使得应用程序的打包、部署和管理变得更加简单、高效和安全。无论是在开发、测试还是生产环境中,都发挥着重要的作用。本文介绍在Linux下Docker的安装和常用命令

2024-03-05 14:31:27 1113

原创 在Linux中使用docker【中】(常见命令上)

Docker是一个强大的工具神器,它使得应用程序的打包、部署和管理变得更加简单、高效和安全。无论是在开发、测试还是生产环境中,都发挥着重要的作用。本文介绍在Linux下Docker的安装和常用命令

2024-03-04 18:54:34 2268

原创 在Linux中使用docker【上】(docker、nvidia-docker安装)

Docker是一个强大的工具神器,它使得应用程序的打包、部署和管理变得更加简单、高效和安全。无论是在开发、测试还是生产环境中,都发挥着重要的作用。本文介绍在Linux下Docker的安装和常用命令

2024-03-04 15:51:15 1319

原创 python模块百科_操作系统接口_os【一】

用自己的方式来理解Python的常用模块;os 模块是最常用的模块之一,提供了与操作系统交互的多种功能。可以使用 os 模块来执行文件或目录操作,如读取或修改环境变量、访问命令行参数、处理文件路径、执行系统命令等

2024-03-03 19:24:05 985

原创 Python算法题集_单词搜索

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

2024-03-03 15:03:04 959

原创 Window下编写的sh文件在Linux/Docker中无法使用

在linux下运行从其他操作系统编写的sh文件时,需要检查文件行尾是否为linux格式,否则可能运行不了

2024-03-02 15:55:31 662

原创 Python算法题集_括号生成

题目22. 括号生成:数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合

2024-03-02 10:02:28 906

原创 python模块百科_基本日期时间类型datetime【下】

Python模块中,datetime 模块提供用于处理日期和时间的类。在支持日期时间数学运算的同时,实现的关注点更着重于如何能够更有效地解析其属性用于格式化输出和数据操作。本文从相关模块、感知对象和简单对象、常量、类型、通用属性等方面进行介绍

2024-03-01 19:09:47 758

原创 python模块百科_基本日期时间类型datetime【上】

Python模块中,datetime 模块提供用于处理日期和时间的类。在支持日期时间数学运算的同时,实现的关注点更着重于如何能够更有效地解析其属性用于格式化输出和数据操作。本文从相关模块、感知对象和简单对象、常量、类型、通用属性等方面进行介绍

2024-03-01 17:14:53 839

原创 Python算法题集_组合总和

题目39. 组合总和:给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。candidates 中的 同一个 数字可以 无限制重复被选取 。如果至少一个数字的被选数量不同,则两种组合是不同的。对于给定的输入,保证和为 target 的不同组合数少于 150 个。

2024-02-29 21:03:56 1059

原创 python模块百科_为高效而生_itertools【四】(完结)

itertools --- 为高效而生。itertools模块实现一系列迭代器 ,这些迭代器受到APL、Haskell、SML几种语言的启发。itertools模块标准化了一个快速、高效利用内存的核心工具集,这些工具本身或组合都很有用。它们一起形成了“迭代器代数”,这使得在纯Python中有可能创建简洁又高效的专用工具

2024-02-29 14:58:09 869

原创 python模块百科_为高效而生_itertools【三】

itertools --- 为高效而生。itertools模块实现一系列迭代器 ,这些迭代器受到APL、Haskell、SML几种语言的启发。itertools模块标准化了一个快速、高效利用内存的核心工具集,这些工具本身或组合都很有用。它们一起形成了“迭代器代数”,这使得在纯Python中有可能创建简洁又高效的专用工具

2024-02-28 19:04:29 842

原创 Python算法题集_电话号码的字母组合

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

2024-02-28 10:13:38 772

原创 python模块百科_为高效而生_itertools【二】

itertools --- 为高效而生。itertools模块实现一系列迭代器 ,这些迭代器受到APL、Haskell、SML几种语言的启发。itertools模块标准化了一个快速、高效利用内存的核心工具集,这些工具本身或组合都很有用。它们一起形成了“迭代器代数”,这使得在纯Python中有可能创建简洁又高效的专用工具

2024-02-27 16:52:19 819

原创 Python算法题集_子集

题目78. 子集:给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。

2024-02-27 11:29:32 829

原创 Python算法题集_全排列

题目46. 全排列:给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。

2024-02-26 21:00:12 887

原创 Python算法题集_实现 Trie [前缀树]

题目208. 实现 Trie (前缀树):Trie(发音类似 "try")或者说 前缀树 是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补完和拼写检查。请你实现 Trie 类:Trie() 初始化前缀树对象。void insert(String word) 向前缀树中插入字符串 word 。...

2024-02-25 15:50:28 1057

原创 python模块百科_为高效而生_itertools【一】

itertools --- 为高效而生。itertools模块实现一系列迭代器 ,这些迭代器受到APL、Haskell、SML几种语言的启发。itertools模块标准化了一个快速、高效利用内存的核心工具集,这些工具本身或组合都很有用。它们一起形成了“迭代器代数”,这使得在纯Python中有可能创建简洁又高效的专用工具。

2024-02-25 14:14:53 785

原创 Python模块百科_时间的访问和转换(time)_下

time模块提供了各种与时间相关的函数。本文进行了示例说明;相关功能还可以参阅datetime 和 calendar模块。尽管所有平台皆可引用此模块,但模块内的函数并不是所有平台都可用。此模块中定义的大多数函数的实现都是调用其所在平台的C语言库的同名函数。因为这些函数的语义可能因平台而异,所以使用时最好查阅对应平台的相关文档。

2024-02-24 15:33:50 811

原创 Python模块百科_时间的访问和转换(time)_上

time模块提供了各种与时间相关的函数。本文进行了示例说明;相关功能还可以参阅datetime 和 calendar模块。尽管所有平台皆可引用此模块,但模块内的函数并不是所有平台都可用。此模块中定义的大多数函数的实现都是调用其所在平台的C语言库的同名函数。因为这些函数的语义可能因平台而异,所以使用时最好查阅对应平台的相关文档。

2024-02-24 13:22:13 837

原创 Python模块百科_命令行参数解析argparse

argparse是Python的一个标准库模块,用于编写用户友好的命令行接口。它是一个灵活和强大的工具,可以处理各种命令行参数和选项,并且可以自动生成帮助和用法信息。使用argparse模块,您可以将命令行参数解析为Python对象,以便在您的程序中使用。通过定义所需的参数和选项,您可以轻松地为命令行界面提供清晰和一致的语法。

2024-02-23 20:27:39 910

Python算法题源代码-LeetCode(力扣)-寻找旋转排序数组中的最小值

力扣热题Python源代码 题目153. 寻找旋转排序数组中的最小值 提示 已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums = [0,1,2,4,5,6,7] 在变化后可能得到: 若旋转 4 次,则可以得到 [4,5,6,7,0,1,2] 若旋转 7 次,则可以得到 [0,1,2,4,5,6,7] 注意,数组 [a[0], a[1], a[2], ..., a[n-1]] 旋转一次 的结果为数组 [a[n-1], a[0], a[1], a[2], ..., a[n-2]] 。 给你一个元素值 互不相同 的数组 nums ,它原来是一个升序排列的数组,并按上述情形进行了多次旋转。请你找出并返回数组中的 最小元素 。 你必须设计一个时间复杂度为 O(log n) 的算法解决此问题。 示例 1: 输入:nums = [3,4,5,1,2] 输出:1 解释:原数组为 [1,2,3,4,5] ,旋转 3 次得到输入数组。

2024-03-13

Python算法题源代码-LeetCode(力扣)-搜索旋转排序数组

力扣热题Python源代码 题目33. 搜索旋转排序数组 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k+1], ..., nums[n-1], nums[0], nums[1], ..., nums[k-1]](下标 从 0 开始 计数)。例如, [0,1,2,4,5,6,7] 在下标 3 处经旋转后可能变为 [4,5,6,7,0,1,2] 。 给你 旋转后 的数组 nums 和一个整数 target ,如果 nums 中存在这个目标值 target ,则返回它的下标,否则返回 -1 。 你必须设计一个时间复杂度为 O(log n) 的算法解决此问题。 示例 1: 输入:nums = [4,5,6,7,0,1,2], target = 0 输出:4 示例 2: 输入:nums = [4,5,6,7,0,1,2], target = 3 输出:-1

2024-03-12

Python算法题源代码-LeetCode(力扣)-在排序数组中查找元素的第一个和最后一个位置

力扣热题Python源代码 题目34. 在排序数组中查找元素的第一个和最后一个位置 给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target,返回 [-1, -1]。 你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。 示例 1: 输入:nums = [5,7,7,8,8,10], target = 8 输出:[3,4] 示例 2: 输入:nums = [5,7,7,8,8,10], target = 6 输出:[-1,-1] 示例 3: 输入:nums = [], target = 0 输出:[-1,-1] 提示: 0 <= nums.length <= 105 -109 <= nums[i] <= 109 nums 是一个非递减数组 -109 <= target <= 109

2024-03-09

Python算法题源代码-LeetCode(力扣)-搜索二维矩阵

力扣热题Python源代码 题目74. 搜索二维矩阵 给你一个满足下述两条属性的 m x n 整数矩阵: 每行中的整数从左到右按非严格递增顺序排列。 每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target ,如果 target 在矩阵中,返回 true ;否则,返回 false 。 示例 1: 输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 3 输出:true 示例 2: 输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 13 输出:false 提示: m == matrix.length n == matrix[i].length 1 <= m, n <= 100 -104 <= matrix[i][j], target <= 104

2024-03-08

Python算法题源代码-LeetCode(力扣)-搜索插入位置

力扣热题Python源代码 题目35. 搜索插入位置 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例 1: 输入: nums = [1,3,5,6], target = 5 输出: 2 示例 2: 输入: nums = [1,3,5,6], target = 2 输出: 1 示例 3: 输入: nums = [1,3,5,6], target = 7 输出: 4 提示: 1 <= nums.length <= 104 -104 <= nums[i] <= 104 nums 为 无重复元素 的 升序 排列数组 -104 <= target <= 104

2024-03-07

Python算法题源代码-LeetCode(力扣)-N皇后

力扣热题Python源代码 题目51. N 皇后 按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。 给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。 每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中 'Q' 和 '.' 分别代表了皇后和空位。 示例 1: 输入:n = 4 输出:[[".Q..","...Q","Q...","..Q."],["..Q.","Q...","...Q",".Q.."]] 解释:如上图所示,4 皇后问题存在两个不同的解法。 示例 2: 输入:n = 1 输出:[["Q"]] 提示: 1 <= n <= 9

2024-03-06

Python算法题源代码-LeetCode(力扣)-分割回文串

力扣热题Python源代码 题目131. 分割回文串 给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 。返回 s 所有可能的分割方案。 回文串 是正着读和反着读都一样的字符串。 示例 1: 输入:s = "aab" 输出:[["a","a","b"],["aa","b"]] 示例 2: 输入:s = "a" 输出:[["a"]] 提示: 1 <= s.length <= 16 s 仅由小写英文字母组成

2024-03-05

Python算法题源代码-LeetCode(力扣)-单词搜索

力扣热题Python源代码 题目79. 单词搜索 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。 示例 1: 输入:board = [["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], word = "ABCCED" 输出:true 示例 2: 输入:board = [["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], word = "SEE" 输出:true 示例 3: 输入:board = [["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], word = "ABCB" 输出:false

2024-03-03

Python算法题源代码-LeetCode(力扣)-括号生成

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

2024-03-02

Python算法题源代码-LeetCode(力扣)-组合总和

力扣热题Python源代码 39. 组合总和 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 , 并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中的 同一个 数字可以 无限制重复被选取 。如果至少一个数字的被选数量不同,则两种组合是不同的。 对于给定的输入,保证和为 target 的不同组合数少于 150 个。 示例 1: 输入:candidates = [2,3,6,7], target = 7 输出:[[2,2,3],[7]] 解释: 2 和 3 可以形成一组候选,2 + 2 + 3 = 7 。注意 2 可以使用多次。 7 也是一个候选, 7 = 7 。 仅有这两种组合。 示例 2: 输入: candidates = [2,3,5], target = 8 输出: [[2,2,2,2],[2,3,3],[3,5]]

2024-02-29

Python算法题源代码-LeetCode(力扣)-电话号码的字母组合

力扣热题Python源代码 题目17. 电话号码的字母组合 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例 1: 输入:digits = '23' 输出:['ad','ae','af','bd','be','bf','cd','ce','cf'] 示例 2: 输入:digits = '' 输出:[] 示例 3: 输入:digits = '2' 输出:['a','b','c']

2024-02-28

Python算法题源代码-LeetCode(力扣)-子集

力扣热题Python源代码 题目78. 子集 给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1: 输入:nums = [1,2,3] 输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]] 示例 2: 输入:nums = [0] 输出:[[],[0]] 提示: 1 <= nums.length <= 10 -10 <= nums[i] <= 10 nums 中的所有元素 互不相同

2024-02-27

Python算法题源代码-LeetCode(力扣)-全排列

力扣热题Python源代码 题目46. 全排列 给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例 1: 输入:nums = [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]] 示例 2: 输入:nums = [0,1] 输出:[[0,1],[1,0]] 示例 3: 输入:nums = [1] 输出:[[1]] 提示: 1 <= nums.length <= 6 -10 <= nums[i] <= 10 nums 中的所有整数 互不相同

2024-02-26

Python算法题源代码-LeetCode(力扣)-实现 Trie (前缀树)

力扣热题Python源代码 题目208. 实现 Trie (前缀树) Trie(发音类似 "try")或者说 前缀树 是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。 这一数据结构有相当多的应用情景,例如自动补完和拼写检查。 请你实现 Trie 类: Trie() 初始化前缀树对象。 void insert(String word) 向前缀树中插入字符串 word 。 boolean search(String word) 如果字符串 word 在前缀树中,返回 true(即,在检索之前已经插入);否则,返回 false 。 boolean startsWith(String prefix) 如果之前已经插入的字符串 word 的前缀之一为 prefix ,返回 true ;否则,返回 false 。

2024-02-25

Python-游戏源代码(Pygame)-中国象棋(基本)

使用Pygame模块开发的中国象棋,注释比较清晰,可以直接运行 包含棋盘、棋子资源的加载和绘制 使用键盘操作【上、下、左、右、回车】实现下棋操作 实现了各种棋子的棋盘走位检测和吃子、胜负判断 主代码单元为ChsChess.py,摘要如下 from ChessBoard import * from NetworkChs import * #初始化 pygame.init() # 设置窗口大小 图片大小是460*532 , window = pygame.display.set_mode((460, 560)) # 设置窗口标题 if len(sys.argv) > 1: pygame.display.set_caption('Chinese Chess black') else: pygame.display.set_caption('Chinese Chess red') chessbord = ChessBoard() chessbord.redrawBorad(window)

2024-02-23

Python算法题源代码-LeetCode(力扣)-课程表

力扣热题Python源代码 题目207. 课程表 你这个学期必须选修 numCourses 门课程,记为 0 到 numCourses - 1 。 在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites 给出,其中 prerequisites[i] = [ai, bi] ,表示如果要学习课程 ai 则 必须 先学习课程 bi 。 例如,先修课程对 [0, 1] 表示:想要学习课程 0 ,你需要先完成课程 1 。 请你判断是否可能完成所有课程的学习?如果可以,返回 true ;否则,返回 false 。 示例 1: 输入:numCourses = 2, prerequisites = [[1,0]] 输出:true 解释:总共有 2 门课程。学习课程 1 之前,你需要完成课程 0 。这是可能的。 示例 2: 输入:numCourses = 2, prerequisites = [[1,0],[0,1]] 输出:false 解释:总共有 2 门课程。学习课程 1 之前,你需要先完成​课程 0 ;并且学习课程 0 之

2024-02-23

Python算法题源代码-LeetCode(力扣)-腐烂的橘子

力扣热题Python源代码 题目994. 腐烂的橘子 在给定的 m x n 网格 grid 中,每个单元格可以有以下三个值之一: 值 0 代表空单元格;值 1 代表新鲜橘子;值 2 代表腐烂的橘子。 每分钟,腐烂的橘子 周围 4 个方向上相邻 的新鲜橘子都会腐烂。 返回 直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。如果不可能,返回 -1 。 示例 1: 输入:grid = [[2,1,1],[1,1,0],[0,1,1]] 输出:4 示例 2: 输入:grid = [[2,1,1],[0,1,1],[1,0,1]] 输出:-1 解释:左下角的橘子(第 2 行, 第 0 列)永远不会腐烂,因为腐烂只会发生在 4 个方向上。 提示: m == grid.length n == grid[i].length 1 <= m, n <= 10 grid[i][j] 仅为 0、1 或 2

2024-02-22

Python算法题源代码-LeetCode(力扣)-岛屿数量

力扣热题Python源代码 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 = [ ["1","1","0","0","0"], ["1","1","0","0","0"], ["0","0","1","0","0"], ["0","0","0","1","1"] ] 输出:3

2024-02-22

Python算法题源代码-LeetCode(力扣)-二叉树中的最大路径和

力扣热题Python源代码 题目:124. 二叉树中的最大路径和 二叉树中的 路径 被定义为一条节点序列,序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一定经过根节点。路径和 是路径中各节点值的总和。给你一个二叉树的根节点 root ,返回其 最大路径和 。 示例 1: 输入:root = [1,2,3] 输出:6 解释:最优路径是 2 -> 1 -> 3 ,路径和为 2 + 1 + 3 = 6 示例 2: 输入:root = [-10,9,20,null,null,15,7] 输出:42 解释:最优路径是 15 -> 20 -> 7 ,路径和为 15 + 20 + 7 = 42 提示: 树中节点数目范围是 [1, 3 * 104] -1000 <= Node.val <= 1000

2024-02-21

力扣算法题:缺失的第一个正数,超时测试用例,数组长度10W

题目41. 缺失的第一个正数 给你一个未排序的整数数组nums,请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为O(n)并且只使用常数级别额外空间的解决方案。 示例1: 输入:nums=[1,2,0] 输出:3 本测试用例为测试超时用的超长用例,数组长度为100000 如果算法调优不够,网站会在此测试用例报超时

2024-02-02

力扣算法题:除自身以外数组的乘积,测试超时数组,长度5W

题目238. 除自身以外数组的乘积 给你一个整数数组 nums,返回数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。题目数据保证数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。请不要使用除法,且在 O(n) 时间复杂度内完成此题。 示例 1: 输入: nums = [1,2,3,4] 输出: [24,12,8,6] 本测试用例为测试超时用的超长用例,数组长度为50000 如果算法调优不够,网站会在此测试用例报超时

2024-02-01

力扣算法题:最大子数组和测试用例,用于测试超时,数组长度21808

53. 最大子数组和 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组 是数组中的一个连续部分。 示例 1: 输入:nums = [-2,1,-3,4,-1,2,1,-5,4] 输出:6 解释:连续子数组 [4,-1,2,1] 的和最大,为 6 本测试用例为测试超时用的超长用例,数组长度为21808 如果算法调优不够,网站会在此测试用例报超时

2024-01-31

滑动窗口最大值测试用例数组,长度为10W

题目239:滑动窗口最大值 说明:给你一个整数数组 `nums`,有一个大小为 `k` 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 `k` 个数字。滑动窗口每次只向右移动一位 本测试用例为10W长度的数组,非常容易引起网站的计算实例超时,因此可以单独下载进行本地测试

2024-01-30

LeetCode:最小覆盖子串测试用例,10W长度字符串1W长度子串

LeetCode 76. 最小覆盖子串 给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 "" 。 本测试数据是第265个测试用例,字符串长度100000,子串长度10000,正确的算法结果,最小覆盖子串长度应该为10742 下面是我的I7本地跑完的结果【网站超时】 函数 minWindow 的运行时间为 1233597.94 ms;执行结果 = 10742

2024-01-30

力扣算法题:和为K的子数组的官方测试用超长数组,长度为20000

力扣算法题:和为K的子数组的官方测试用超长数组,长度为20000

2024-01-29

测量函数运行用时、内存占用的代码单元CheckFuncPerf.py以及使用方法

自己写的一个自用的测量函数运行用时、内存占用的代码单元CheckFuncPerf.py,也给大家分享出来,最新版本V1.0.1.0(2024.1.30) 最近更新日志 V1.0.1.0(2024.1.30) 修正 - 减少内存占用值波动 - 修正内存占用可能为负数的Bug V1.0.0.1(2024.1.28) 新增 - 测量函数用时函数getTimeStr - 测量函数内存占用函数getMemoryStr、getMemoryStrExt

2024-01-28

Windows版的Typora(64位)-9.98安装包

Typora安装包9.9.8(Windows)

2024-01-10

空空如也

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

TA关注的人

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