算法题
AlberTeslaWizard
这个作者很懒,什么都没留下…
展开
-
2022 CCF CSP-J2 解密
给定一个正整数 k,有 k 次询问,每次给定三个正整数。第一行一个正整数 k,表示有 k 次询问。接下来 k行,第 i 行三个正整数。为使输出统一,你应当保证。原创 2022-11-09 02:13:42 · 726 阅读 · 0 评论 -
5219. 每个小孩最多能分到多少糖果
题目描述给你一个 下标从 0 开始 的整数数组 candies 。数组中的每个元素表示大小为 candies[i] 的一堆糖果。你可以将每堆糖果分成任意数量的 子堆 ,但 无法 再将两堆合并到一起。另给你一个整数 k 。你需要将这些糖果分配给 k 个小孩,使每个小孩分到 相同 数量的糖果。每个小孩可以拿走 至多一堆 糖果,有些糖果可能会不被分配。返回每个小孩可以拿走的 最大糖果数目 。示例 1:输入:candies = [5,8,6], k = 3输出:5解释:可以将 candies[1] 分原创 2022-04-03 15:27:17 · 221 阅读 · 0 评论 -
D - Sequence Query
题目描述题目链接思路Online Solution使用STL中的multisetC++代码#include<bits/stdc++.h>using namespace std;using LL = long long;multiset<LL> S;int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); int tt; cin >> tt; while(tt --){ i原创 2022-02-28 13:42:54 · 223 阅读 · 0 评论 -
E - Subtree K-th Max
题目描述题目链接C++代码#include<bits/stdc++.h>#define pb push_backusing namespace std;const int N = 1e5 + 10;vector<int> e[N], ans[N]; vector<int> X(N);void dfs(int u, int fa){ vector<int> order; order.pb(X[u]); for(auto it : e[原创 2022-02-20 00:35:34 · 483 阅读 · 0 评论 -
2165. 重排数字的最小值
给你一个整数 num 。重排 num 中的各位数字,使其值 最小化 且不含 任何 前导零。返回不含前导零且值最小的重排数字。注意,重排各位数字后,num 的符号不会改变。示例 1:输入: num = 310输出: 103解释: 310 中各位数字的可行排列有:013、031、103、130、301、310 。不含任何前导零且值最小的重排数字是 103 。示例 2:输入:num = -7605输出:-7650解释:-7605 中各位数字的部分可行排列为:-7650、-6705、-原创 2022-02-17 15:22:09 · 428 阅读 · 0 评论 -
红与黑(BFS解法)
有一间长方形的房子,地上铺了红色、黑色两种颜色的正方形瓷砖。你站在其中一块黑色的瓷砖上,只能向相邻(上下左右四个方向)的黑色瓷砖移动。请写一个程序,计算你总共能够到达多少块黑色的瓷砖。输入格式输入包括多个数据集合。每个数据集合的第一行是两个整数 W 和 H,分别表示 x 方向和 y 方向瓷砖的数量。在接下来的 H 行中,每行包括 W 个字符。每个字符表示一块瓷砖的颜色,规则如下1)‘.’:黑色的瓷砖;2)‘#’:红色的瓷砖;3)‘@’:黑色的瓷砖,并且你站在这块瓷砖上。该字符在每个数据集合原创 2022-02-13 16:35:15 · 169 阅读 · 0 评论 -
1716. 计算力扣银行的钱
Hercy 想要为购买第一辆车存钱。他 每天 都往力扣银行里存钱。最开始,他在周一的时候存入 1 块钱。从周二到周日,他每天都比前一天多存入 1 块钱。在接下来每一个周一,他都会比 前一个周一 多存入 1 块钱。给你 n ,请你返回在第 n 天结束的时候他在力扣银行总共存了多少块钱。示例 1:输入:n = 4输出:10解释:第 4 天后,总额为 1 + 2 + 3 + 4 = 10 。示例 2:输入:n = 10输出:37解释:第 10 天后,总额为 (1 + 2 + 3 + 4 + 5原创 2022-02-13 11:15:32 · 229 阅读 · 0 评论 -
1863. 找出所有子集的异或总和再求和
一个数组的 异或总和 定义为数组中所有元素按位 XOR 的结果;如果数组为 空 ,则异或总和为 0 。例如,数组 [2,5,6] 的 异或总和 为 2 XOR 5 XOR 6 = 1 。给你一个数组 nums ,请你求出 nums 中每个 子集 的 异或总和 ,计算并返回这些值相加之 和 。注意:在本题中,元素 相同 的不同子集应 多次 计数。数组 a 是数组 b 的一个 子集 的前提条件是:从 b 删除几个(也可能不删除)元素能够得到 a 。示例 1:输入:nums = [1,3]输出:6原创 2022-02-08 15:10:26 · 807 阅读 · 0 评论 -
1518. 换酒问题
小区便利店正在促销,用 numExchange 个空酒瓶可以兑换一瓶新酒。你购入了 numBottles 瓶酒。如果喝掉了酒瓶中的酒,那么酒瓶就会变成空的。请你计算 最多 能喝到多少瓶酒。示例 1:输入:numBottles = 9, numExchange = 3输出:13解释:你可以用 3 个空酒瓶兑换 1 瓶酒。所以最多能喝到 9 + 3 + 1 = 13 瓶酒。示例 2:输入:numBottles = 15, numExchange = 4输出:19解释:你可以用 4 个空酒瓶原创 2022-02-08 12:47:13 · 471 阅读 · 0 评论 -
1544. 整理字符串
给你一个由大小写英文字母组成的字符串 s 。一个整理好的字符串中,两个相邻字符 s[i] 和 s[i+1],其中 0<= i <= s.length-2 ,要满足如下条件:若 s[i] 是小写字符,则 s[i+1] 不可以是相同的大写字符。若 s[i] 是大写字符,则 s[i+1] 不可以是相同的小写字符。请你将字符串整理好,每次你都可以从字符串中选出满足上述条件的 两个相邻 字符并删除,直到字符串整理好为止。请返回整理好的 字符串 。题目保证在给出的约束条件下,测试样例对应的答案是唯原创 2022-02-04 13:08:25 · 106 阅读 · 0 评论 -
A. Robot Cleaner
Problem StatementA robot cleaner is placed on the floor of a rectangle room, surrounded by walls. The floor consists of n rows and m columns. The rows of the floor are numbered from 1 to n from top to bottom, and columns of the floor are numbered from 1 t原创 2022-01-11 22:28:06 · 452 阅读 · 0 评论