- 博客(18)
- 收藏
- 关注
原创 DFS2 C++
从 1∼n1∼ 这 n 个整数中随机选取任意多个,输出所有可能的选择方案。其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面(例如。把 1∼n1∼这 n 个整数排成一行后随机打乱顺序,输出所有可能的次序。从 1∼n1∼这 n 个整数中随机选出 m 个,输出所有可能的选择方案。其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面。首先,同一行内的数升序排列,相邻两个数用一个空格隔开。按照从小到大的顺序输出所有方案,每行 11 个。按照从小到大的顺序输出所有方案,每行 11 个。
2024-04-01 23:59:57
615
原创 DFS C++
其中第 i 架飞机在 Ti 时刻到达机场上空,到达时它的剩余油料还可以继续盘旋 Di 个单位时间,即它最早可以于 T 时刻开始降落,最晚可以于 T;本题就请你统计一下,给定的地图上一共有多少岛屿,其中有多少是有宝藏的岛屿。输入第一行给出 2 个正整数 N 和 M(1<N×M≤105),是地图的尺寸,表示地图由 N 行 M 列格子构成。第 2..N+12..+1 行:每行一个整数,其中第 i+1+1 行的整数表示第 i只小猫的重量 Ci。在一行中输出 2 个整数,分别是岛屿的总数量和有宝藏的岛屿的数量。
2024-03-30 09:29:41
990
1
原创 二分法2——蓝桥杯真题
输入的第一行包含两个整数 n , len ,用一个空格分隔,分别表示会打开的阀门数和管道长度。给出该方程中各项的系数( a , b , c , d 均为实数),并约定该方程存在三个不同实根(根的范围在﹣100至100之间),且根与根之差的绝对值≥1。接下来 n 行每行包含两个整数 Li , Si ,用一个空格分隔,表示位于Li段管道中央的阀门会在Si时刻打开。提示:记方程 f ( x )=0,若存在2个数x1和x2,且x1<x2, f (x1) xf (x2)<0,则在(x1,x2)之间一定有一个根。
2024-03-29 08:58:28
709
1
原创 贪心3C++
游戏有 n 个可能会发生的事件,每个事件之间相互独立且最多只会发生一次,当第 i 个事件发生时会分别让 X , Y , Z 增加 Ai , Bi , Ci。当游戏结束时(所有事件的发生与否已经确定),如果 X , Y , Z 的其中一个大于另外两个之和,我们认为其获胜。小蓝用黑白棋的 n 个棋子排成了一行,他在脑海里想象出了一个长度为 n 的01串 T ,他发现如果把黑棋当做1.白棋当做0,这一行棋子也是一个长度为 n 的01串 S。后面2D行每行包含一个01串,每两行为一组数据,第2i-1行为第1组。
2024-03-26 23:43:51
616
原创 二分法C++
这个炉子有一个称作转换率的属性 V , V 是一个正整数,这意味着消耗 V 个普通金属○恰好可以冶炼出一个特殊金属 X ,当普通金属 O 的数目不足 V 时,无法继续冶炼。现在给出了 N 条冶炼记录,每条记录中包含两个整数 A 和 B ,这表示本次投入了 A 个普通金属 O ,最终冶炼出了 B 个特殊金属 X。给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。
2024-03-26 22:42:51
820
1
原创 贪心算法C++
对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。给定一个整数数组 A,我们只能用以下方法修改该数组:我们选择某个索引 i 并将 A[i] 替换为 -A[i],然后总共重复这个过程 K 次。通过从原始序列中删除一些(也可以不删除)元素来获得子序列,剩下的元素保持其原始顺序。给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
2024-03-23 23:05:58
2314
1
原创 动态规划——买卖股票C++
给定一个整数数组 prices ,它的第 i 个元素 prices[i] 是一支给定的股票在第 i 天的价格。给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。你最多可以完成 两笔 交易。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。
2024-03-23 00:05:49
989
1
原创 多重背包2——打家劫舍问题 C++
1、题目:给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。给你一个整数 n ,返回和为 n 的完全平方数的 最少数量。2、代码:int n;int dp[N];cin >> n;i < n;i*i < n;
2024-03-20 21:02:48
1107
1
原创 完全背包C++
背包最大重量为4,物品0/1/2所对应的重量是1/3/5,所对应的价值是15/20/30,每件商品无限个,求背包所能背物品的最大价值。给定不同面额的硬币和一个总金额。写出函数来计算可以凑成总金额的硬币组合数。假设每一种面额的硬币有无限个。每次你可以爬至多m (1 <= m < n)个台阶。你有多少种不同的方法可以爬到楼顶呢?输入描述:输入共一行,包含两个正整数,分别表示n, m。需要 n 阶你才能到达楼顶。输出描述:输出一个整数,表示爬到楼顶的方法数。注意:给定 n 是一个正整数。
2024-03-19 19:03:12
1130
原创 动态规划2 ——0-1背包C++
背包最大重量为4,物品0、1、2所对应的重量为1、3、4所对应的价值为15、20、30,问背包所能背的物品的最大价值为?背包最大重量为4,物品0、1、2所对应的重量为1、3、4所对应的价值为15、20、30,问背包所能背的物品的最大价值为?给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。给定一个整数 n,求以 1 ... n 为节点组成的二叉搜索树有多少种?注意: 每个数组中的元素不会超过 100 数组的大小不会超过 200。
2024-03-18 22:45:40
750
原创 动态规划C++
给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。机器人试图达到网格的右下角(在下图中标记为“Finish”)。一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。网格中的障碍物和空位置分别用 1 和 0 来表示。
2024-03-17 00:43:11
2155
1
原创 单调栈+dp C++2
斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) = 0,F(1) = 1 F(n) = F(n - 1) + F(n - 2),其中 n > 1 给你n ,请计算 F(n)。给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。给定 n 个非负整数,用来表示柱状图中各个柱子的高度。求在该柱状图中,能够勾勒出来的矩形的最大面积。
2024-03-16 00:08:59
894
1
原创 单调栈C++
给定一个循环数组(最后一个元素的下一个元素是数组的第一个元素),输出每个元素的下一个更大元素。数字 x 的下一个更大的元素是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。例如,给定一个列表 temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是 [1, 1, 4, 2, 1, 1, 0, 0]。nums1 中数字 x 的下一个更大元素是指 x 在 nums2 中对应位置的右边的第一个比 x 大的元素。
2024-03-14 23:55:19
1941
1
原创 22年蓝桥杯真题演练C++
现在有两个 X 进制表示的整数 A 和 B ,但是其具体每一数位的进制还不确定,只知道 A 和 B 是同一进制规则,且每一数位最高为 N 进制,最低为二进制。例如说某种 X 进制数,最低数位为二进制,第二数位为十进制,第三数位为八进制,则 X 进制数321转换为十进制数为65。第五行 Mb 个用空格分开的整数,表示 X 进制数 B 按从高位到低位顺序各个数位上的数字在十进制下的表示。请注意,你需要保证 A 和 B 在 X 进制下都是合法的,即每一数位上的数字要小于其进制。但是没酒时遇花是不合法的。
2024-03-13 23:29:38
711
原创 哈希表2 C++
给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) ,使得 A[i] + B[j] + C[k] + D[l] = 0。为了使问题简单化,所有的 A, B, C, D 具有相同的长度 N,且 0 ≤ N ≤ 500。1、题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。1、题目:给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使。
2024-03-12 17:02:12
773
1
原创 哈希表 C++
编写一个算法来判断一个数 n 是不是快乐数。如果 n 是快乐数就返回 True;不是,则返回 False。示例 1: 输入: s = "anagram", t = "nagaram" 输出: true。给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。示例 2: 输入: s = "rat", t = "car" 输出: false。给定两个数组,编写一个函数来计算它们的交集,输出结果中的每个元素一定是唯一的。
2024-03-08 00:01:51
841
1
原创 2024.3.6
i < len;i++) {i < len;i++) {i < len;i++) {a[i] += 10;len--;string ans;ans = "-";i >= 0;i--) {return ans;return 0;string s1;i < len;i++) {i < len;i++) {
2024-03-06 22:29:30
397
1
原创 2024.3.5
i < len;i++)i < len;i++)i < len;i++)c[i] % 10;len++;string ans;i >=0;i--)return ans;int main()return 0;int count;i++)i++)return;
2024-03-05 22:59:48
848
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人