- 博客(125)
- 收藏
- 关注
原创 CCF CSP 第37次(2025.03)(3_模板展开_C++)(哈希表+stringstream)
题目背景西西艾弗岛信息中心主持了岛上的信息化工作,为各个部门提供信息化服务。不同部门所需要的信息化服务内容各有不同, 但是其中存在着一个共同的需求:通过模板生成文档。为了满足这个需求,信息中心开发了一个通用的文档模板系统。 模板系统有若干输入参数,这些参数都是字符串,模板系统根据模板,将这些字符串拼接为最终的输出。 为了让模板系统能够支持更复杂的需求,信息中心决定开发一种模板语言,这种模板语言重点支持变量和其代换。 你的任务是能够读取这种模板语言,并按照模板语言的规则生成相应输出。
2025-06-03 22:54:36
691
3
原创 LeetCode 热题 100_寻找重复数(100_287_中等_C++)(技巧)(暴力解法;哈希集合;二分查找)
LeetCode 热题 100_寻找重复数(100_287_中等_C++)题目描述:给定一个包含 n + 1 个整数的数组 nums ,其数字都在 [1, n] 范围内(包括 1 和 n),可知至少存在一个重复的整数。假设 nums 只有 一个重复的整数 ,返回 这个重复的数 。你设计的解决方案必须 不修改 数组 nums 且只用常量级 O(1) 的额外空间。
2025-05-17 23:09:54
906
原创 LeetCode 热题 100_下一个排列(99_31_中等_C++)(技巧)
LeetCode 热题 100_下一个排列(99_31_中等_C++)题目描述:整数数组的一个 排列 就是将其所有成员以序列或线性顺序排列。例如,arr = [1,2,3] ,以下这些都可以视作 arr 的排列:[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1] 。整数数组的 下一个排列 是指其整数的下一个字典序更大的排列。更正式地,如果数组的所有排列根据其字典顺序从小到大排列在一个容器中,那么数组的 **下一个排列** 就是在这个有序容器中排在它后面的那个排列。
2025-05-16 23:24:31
703
原创 LeetCode 热题 100_颜色分类(98_75_中等_C++)(技巧)(计数;双指针)
LeetCode 热题 100_颜色分类(98_75_中等_C++)题目描述:给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums ,原地 对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。必须在不使用库内置的 sort 函数的情况下解决这个问题。
2025-05-14 19:35:11
348
原创 LeetCode 热题 100_多数元素(97_169_简单_C++)(哈希表;排序)
LeetCode 热题 100_多数元素(97_169_简单_C++)题目描述:给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。
2025-05-13 22:20:27
341
原创 LeetCode 热题 100_只出现一次的数字(96_136_简单_C++)(哈希表;哈希集合;排序+遍历;位运算)
LeetCode 热题 100_只出现一次的数字(96_136_简单_C++)题目描述:给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。
2025-05-12 22:48:35
1107
原创 LeetCode 热题 100_编辑距离(94_72_中等_C++)(动态规划)
LeetCode 热题 100_编辑距离(94_72_中等_C++)题目描述:给你两个单词 word1 和 word2, 请返回将 word1 转换成 word2 所使用的最少操作数 。你可以对一个单词进行如下三种操作: - 插入一个字符 - 删除一个字符 - 替换一个字符
2025-05-09 22:46:33
745
原创 LeetCode 热题 100_最长回文子串(93_5_中等_C++)(暴力破解法;动态规划)
LeetCode 热题 100_最长回文子串(93_5_中等_C++)题目描述:给你一个字符串 s,找到 s 中最长的 回文 子串。
2025-05-07 22:39:22
622
原创 LeetCode 热题 100_最小路径和(92_64_中等_C++)(多维动态规划)
LeetCode 热题 100_最小路径和(92_64)题目描述:给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。
2025-04-28 21:54:18
789
原创 CCF CSP 第30次(2023.05)(4_电力网络_C++)
题目描述西西艾弗岛电力公司需要修建一套电网对岛上的众多城镇进行供电。电网设施包括建造在城镇中的变电站,与建造在城镇间的输电线路。根据前期的考察结果,电力公司已经确定了哪些城镇之间需要建造输电线路,以使得所有城镇能够被连接成一个电力网络。每座城镇只需要建造一个变电站,却都向电力公司提供了多个建造候选地址,对于每个城镇,不同候选地址的变电站造价不同;对于城镇间的输电线路,其造价也会随着两端变电站的候选地址的变化而变化。因此,电力公司想要知道,在所有候选地址的组合中,电网的总造价(变电站造价加上输电线路造价)。
2025-04-26 22:10:27
364
原创 LeetCode 热题 100_不同路径(91_62_中等_C++)(动态规划)
题目描述:一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?
2025-04-24 22:53:54
813
原创 CCF CSP 第37次(2025.03)(2_机器人饲养指南_C++)
题目背景众所周知,西西艾弗岛上的机器人喜欢吃苹果。题目描述据饲养员小 P 介绍:机器人一天最多可以吃 m 个苹果。一天内通过吃苹果获得的快乐值具体为:A0,A1,…,Am ; 如果某一天饲养员共投喂机器人 i 个苹果,则这一天机器人获得的快乐值为 Ai特别地 A0 =0,快乐值并不会凭空产生。现在小 P有 几 个苹果,试帮助小 P计算:向机器人投喂这 n 个苹果能获得的最大快乐值收益。
2025-04-23 22:48:32
1356
1
原创 LeetCode 热题 100_分割等和子集(89_416_中等_C++)(动态规划)
LeetCode 热题 100_分割等和子集(89_416)题目描述:给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。
2025-04-22 23:00:15
688
原创 CCF CSP 第37次(2025.03)(1_数值积分_C++)
题目描述在了解了数值积分的基本原理后,小 P打算用如下方法估算二次函数在 [ l , r ] 区间的积分1.给定二次函数 f(x)=x²+bx+c,其中两个系数 b 和 c 均为整数;
2025-04-21 22:19:00
786
11
原创 LeetCode 热题 100_乘积最大子数组(88_152_中等_C++)(动态规划)
LeetCode 热题 100_乘积最大子数组(88_152) 题目描述:给你一个整数数组 nums ,请你找出数组中乘积最大的非空连续 子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。测试用例的答案是一个 32-位 整数。
2025-04-19 22:06:35
1082
原创 CCF CSP 第36次(2024.12)(2_梦境巡查_C++)
题目背景传说每当月光遍布西西艾弗岛,总有一道身影默默守护着居民们的美梦。题目描述梦境中的西西艾弗岛由 n+1 个区域组成。梦境巡查员顿顿每天都会从梦之源(0号区域)出发,顺次巡查 1,2,...,n 号区域,最后从n 号区域返回梦之源。在梦境中穿梭需要消耗美梦能量:从梦之源出发时,顿顿会携带若干初始能量;
2025-04-18 22:30:56
590
原创 LeetCode 热题 100_最长递增子序列(87_300_中等_C++)(动态规划)
LeetCode 热题 100_最长递增子序列(87_300)题目描述:给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。
2025-04-16 23:15:45
474
原创 CCF CSP 第36次(2024.12)(1_移动_C++)
CCF CSP 第36次(2024.12)(1_移动_C++)题目背景西西艾弗岛某山脉深处出土了一台远古机器人,具体年代已不可考。初步修缮后,研究人员尝试操控机器人进行些简单的移动。题目描述整个实验场地被划分为n x n 个方格,从(1,1)到(n,n)进行编号。机器人只能在这些方格间移动,不能走出场地范围。
2025-04-15 22:44:38
460
原创 LeetCode 热题 100_单词拆分(86_139_中等_C++)(动态规划)
LeetCode 热题 100_单词拆分(86_139)题目描述:给你一个字符串 s 和一个字符串列表 wordDict 作为字典。如果可以利用字典中出现的一个或多个单词拼接出 s 则返回 true。注意:不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。
2025-04-14 22:56:07
927
原创 CCF CSP 第35次(2024.09)(2_字符串变换_C++)(哈希表+getline)
CCF CSP 第35次(2024.09)(2_字符串变换_C++)题目描述本题涉及字符包括大小写字母(A-Z 和 a-z)、数字 (0-9) 和空格共 63种。在这个字符集合上,小P定义了一个字符替换函数f(ch),表示将字符 ch 替换为 f(ch)。例如 f(a)=b 表示将 a 替换为 b ,f(b) = 0 表示将 b 替换为 0。进而可以将其扩展为字符串变换函数F(s),表示对字符串 s进行变换,将 s 中每个字符 ch 都替换为 f(ch)
2025-04-12 22:29:15
542
原创 LeetCode 热题 100_零钱兑换(85_322_中等_C++)(动态规划)
LeetCode 热题 100_零钱兑换(85_322)题目描述:给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。你可以认为每种硬币的数量是无限的。
2025-04-10 22:52:00
942
原创 json 转 txt 用于 yolo 训练(可适用多边形标注框_python)
json 转 txt 用于 yolo 训练(可适用多边形标注框_python)
2025-04-09 19:49:12
206
原创 CCF CSP 第35次(2024.09)(1_密码_C++)(哈希表)
CCF CSP 第35次(2024.09)(1_密码_C++)题目背景:西西艾弗网对用户密码有一套安全级别评定标准。题目描述:在西西艾弗网上,用户的密码是一个由大写字母(A-Z)、小写字母(a-z)、数字(0-9)和特殊字符(*和 #)共 64 种字符组成的字符串。根据复杂程度不同,密码安全度被分为高、中、低三档。
2025-04-08 23:07:19
409
原创 LeetCode 热题 100_完全平方数(84_279_中等_C++)(动态规划(完全背包))
LeetCode 热题 100_完全平方数(84_279)题目描述:给你一个整数 n ,返回 和为 n 的完全平方数的最少数量 。完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9 和 16 都是完全平方数,而 3 和 11 不是。
2025-04-07 22:56:49
734
原创 CCF CSP 第34次(2024.06)(2_矩阵重塑(其二)_C++)(二维矩阵 -> 一维矩阵 -> 二维矩阵)
CCF CSP 第34次(2024.06)(2_矩阵重塑(其二)_C++时间限制: 1.0 秒空间限制: 512 MiB原题链接题目背景矩阵转置操作是将矩阵的行和列交换的过程,在转置过程中,原矩阵 A 的元素 aij 会移动到转置后的矩阵 AT的 aji 的位置。这意味着 A 的第 i 行第j列的元素在 AT中成为了第 j 行第 i 列的元素。
2025-04-02 21:37:35
571
原创 LeetCode 热题 100_打家劫舍(83_198_中等_C++)(动态规划)
LeetCode 热题 100_打家劫舍(83_198)题目描述:你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。
2025-04-01 22:40:29
1179
原创 LeetCode 热题 100_杨辉三角(82_118_简单_C++)(动态规划)
LeetCode 热题 100_杨辉三角(82_118)题目描述:给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。
2025-03-29 22:43:27
426
原创 CCF CSP 第34次(2024.06)(1_矩阵重塑(其一)_C++)
CCF CSP 第34次(2024.06)(1_矩阵重塑(其一)_C++)时间限制: 1.0 秒空间限制: 512 MiB题目背景:矩阵(二维)的重塑(reshape)操作是指改变矩阵的行数和列数,同时保持矩阵中元素的总数不变。题目描述:矩阵的重塑操作可以具体定义为以下步骤:设原矩阵为 𝑀M,其维度为 n×m,即有 n 行和 m 列。新矩阵为 M′,其维度为 p×q。重塑操作要满足 n×m=p×q,这保证了元素的总数不变。
2025-03-28 22:41:02
921
原创 LeetCode 热题 100_爬楼梯(81_70_简单_C++)(动态规划)
LeetCode 热题 100_爬楼梯(81_70_简单_C++)题目描述:假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?
2025-03-27 22:25:33
390
原创 CCF CSP 第33次(2024.03)(2_相似度计算_C++)(字符串中字母大小写转换+哈希集合)
CCF CSP 第33次(2024.03)(2_相似度计算_C++)时间限制: 1.0 秒空间限制: 512 MiB题目背景:两个集合的 Jaccard 相似度定义为:Sim(A,B)= ∣A∪B∣/∣A∩B∣即交集的大小除以并集的大小。当集合 𝐴 和 𝐵完全相同时,𝑆𝑖𝑚(𝐴,𝐵)=1取得最大值;当二者交集为空时,𝑆𝑖𝑚(𝐴,𝐵)=0取得最小值。
2025-03-26 23:10:36
1073
原创 LeetCode 热题 100_划分字母区间(80_763_中等_C++)(贪心算法(求并集))
LeetCode 热题 100_划分字母区间(80_763)题目描述:给你一个字符串 s 。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。例如,字符串 "ababcc" 能够被分为 ["abab", "cc"],但类似 ["aba", "bcc"] 或 ["ab", "ab", "cc"] 的划分是非法的。注意,划分结果需要满足:将所有划分结果按顺序连接,得到的字符串仍然是 s 。返回一个表示每个字符串片段的长度的列表。
2025-03-22 21:58:09
925
原创 CCF CSP 第33次(2024.03)(1_词频统计_C++)
CCF CSP 第33次(2024.03)(1_词频统计_C++)时间限制: 1.0 秒空间限制: 512 MiB题目描述:在学习了文本处理后,小 P 对英语书中的 n 篇文章进行了初步整理。 具体来说,小 P 将所有的英文单词都转化为了整数编号。假设这 n 篇文章中共出现了 m 个不同的单词,则把它们从 1 到 m 进行编号。 这样,每篇文章就简化为了一个整数序列,其中每个数都在 1 到 m 范围内。
2025-03-21 22:07:35
354
原创 LeetCode 热题 100_跳跃游戏 II(79_45_中等_C++)(贪心算法)
LeetCode 热题 100_跳跃游戏 II(79_45)题目描述:给定一个长度为 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-03-20 22:29:43
1051
原创 CCF CSP 第32次(2023.12)(2_因子化简_C++)
CCF CSP 第32次(2023.12)(2_因子化简_C++)时间限制: 2.0 秒空间限制: 512 MiB题目背景:质数(又称“素数”)是指在大于 1 的自然数中,除了 1 和它本身以外不再有其他因数的自然数。
2025-03-19 22:19:34
904
原创 LeetCode 热题 100_跳跃游戏(78_55_中等_C++)(贪心算法)
LeetCode 热题 100_跳跃游戏(78_55)题目描述:给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false 。
2025-03-18 12:43:42
574
原创 CCF CSP 第32次(2023.12)(1_仓库规划_C++)
CCF CSP 第32次(2023.12)(1_仓库规划_C++)时间限制:1.0 秒空间限制: 512 MiB题目描述:西西艾弗岛上共有 n 个仓库,依次编号为 1 ⋯ n。每个仓库均有一个 m 维向量的位置编码,用来表示仓库间的物流运转关系。具体来说,每个仓库 i 均可能有一个上级仓库 j,满足:仓库 j 位置编码的每一维均大于仓库 i 位置编码的对应元素。
2025-03-17 22:54:52
870
原创 LeetCode 热题 100_买卖股票的最佳时机(77_121_简单_C++)(动态规划)
LeetCode 热题 100_买卖股票的最佳时机(77_121)题目描述:给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。
2025-03-16 22:34:12
395
原创 CCF CSP 第31次(2023.09)(2_坐标变换(其二)_C++)
CCF CSP 第31次(2023.09)(2_坐标变换(其二)_C++)题目背景:对于平面直角坐标系上的坐标 (x,y),小 P 定义了如下两种操作: 1. 拉伸 k 倍:横坐标 x 变为 kx,纵坐标 y 变为 ky; 2. 旋转 θ:将坐标 (x,y) 绕坐标原点 (0,0) 逆时针旋转 θ 弧度(0≤θ<2π)。易知旋转后的横坐标为xcosθ−ysinθ,纵坐标为 xsinθ+y
2025-03-15 22:49:10
921
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人