11 2022 档案

摘要:给定一个数组。 有一个大小为k 的滑动窗口,它从数组的最左边移动到最右边。 你的任务是确定滑动窗口位于每个位置时,窗口中的最大值和最小值。 #include <iostream> #include <deque> using namespace std; const int N = 1e6 + 10 阅读全文
posted @ 2022-11-30 22:02 !&&|| 阅读(22) 评论(0) 推荐(0) 编辑
摘要:给定一个长度为 n 的整数数列,输出每个数左边第一个比它小的数,如果不存在则输出 −1。 #include <iostream> #include <stack> using namespace std; int n; stack <int> st; int main() { cin >> n; w 阅读全文
posted @ 2022-11-30 22:01 !&&|| 阅读(18) 评论(0) 推荐(0) 编辑
摘要:实现一个队列,队列初始为空,支持四种操作: push x – 向队尾插入一个数 xx; pop – 从队头弹出一个数; empty – 判断队列是否为空; query – 查询队头元素。 现在要对队列进行 M 个操作,其中的每个操作 3 和操作 4 都要输出相应的结果。 #include <iost 阅读全文
posted @ 2022-11-30 21:59 !&&|| 阅读(31) 评论(0) 推荐(0) 编辑
摘要:给定一个表达式,其中运算符仅包含 +,-,*,/(加 减 乘 整除),可能包含括号,请你求出表达式的最终值。 #include <iostream> #include <stack> #include <unordered_map> using namespace std; unordered_ma 阅读全文
posted @ 2022-11-30 21:58 !&&|| 阅读(20) 评论(0) 推荐(0) 编辑
摘要:实现一个栈,栈初始为空,支持四种操作: push x – 向栈顶插入一个数 xx; pop – 从栈顶弹出一个数; empty – 判断栈是否为空; query – 查询栈顶元素。 现在要对栈进行 M 个操作,其中的每个操作 3 和操作 4 都要输出相应的结果 #include <iostream> 阅读全文
posted @ 2022-11-30 21:57 !&&|| 阅读(33) 评论(0) 推荐(0) 编辑
摘要:实现一个双链表,双链表初始为空,支持5 种操作: 在最左侧插入一个数; 在最右侧插入一个数; 将第k 个插入的数删除; 在第k 个插入的数左侧插入一个数; 在第 k 个插入的数右侧插入一个数 现在要对该链表进行 M次操作,进行完所有操作后,从左到右输出整个链表。 #include <iostream 阅读全文
posted @ 2022-11-30 21:56 !&&|| 阅读(33) 评论(0) 推荐(0) 编辑
摘要:实现一个单链表,链表初始为空,支持三种操作: 向链表头插入一个数; 删除第 kk 个插入的数后面的数; 在第 kk 个插入的数后插入一个数。 现在要对该链表进行 MM 次操作,进行完所有操作后,从头到尾输出整个链表。 #include <iostream> using namespace std; 阅读全文
posted @ 2022-11-30 21:55 !&&|| 阅读(21) 评论(0) 推荐(0) 编辑
摘要:给定 nn 个区间 [l,r],要求合并所有有交集的区间。 注意如果在端点处相交,也算有交集。 输出合并完成后的区间个数。 #include <iostream> #include <algorithm> #include <climits> using namespace std; const i 阅读全文
posted @ 2022-11-30 21:25 !&&|| 阅读(19) 评论(0) 推荐(0) 编辑
摘要:给定一个长度为 n 的数列,请你求出数列中每个数的二进制表示中 1 的个数。 #include <iostream> using namespace std; int lowbit (int x) { return x & (-x); } int main() { int n; scanf ("%d 阅读全文
posted @ 2022-11-30 21:24 !&&|| 阅读(26) 评论(0) 推荐(0) 编辑
摘要:给定一个长度为 nn 的整数序列 a1,a2,…,an以及一个长度为 m 的整数序列 b1,b2,…,bm。 请你判断 a 序列是否为 b 序列的子序列。 #include <iostream> #include <cstring> using namespace std; const int N 阅读全文
posted @ 2022-11-30 21:23 !&&|| 阅读(23) 评论(0) 推荐(0) 编辑
摘要:给定两个升序排序的有序数组 A 和 B,以及一个目标值 x。 数组下标从 0 开始。 请你求出满足 A[i]+B[j]=x 的数对 (i,j)。 数据保证有唯一解。 #include <iostream> #include <cstdio> using namespace std; const in 阅读全文
posted @ 2022-11-30 21:21 !&&|| 阅读(24) 评论(0) 推荐(0) 编辑
摘要:给定一个长度为n 的整数序列,请找出最长的不包含重复的数的连续区间长度。 #include <iostream> #include <unordered_map> using namespace std; const int N = 100010; int a[N]; unordered_map<i 阅读全文
posted @ 2022-11-30 21:15 !&&|| 阅读(24) 评论(0) 推荐(0) 编辑
摘要:输入一个 n 行 m 列的整数矩阵,再输入 q 个操作,每个操作包含五个整数 x1,y1,x2,y2,c,其中 (x1,y1) 和 (x2,y2)表示一个子矩阵的左上角坐标和右下角坐标。 每个操作都要将选中的子矩阵中的每个元素的值加上 c。 请你将进行完所有操作后的矩阵输出。 #include <i 阅读全文
posted @ 2022-11-30 21:12 !&&|| 阅读(23) 评论(0) 推荐(0) 编辑
摘要:输入一个长度为 n 的整数序列。 接下来输入 m 个操作,每个操作包含三个整数 l,r,c,表示将序列中 [l,r] 之间的每个数加上 c。 请你输出进行完所有操作后的序列。 #include <iostream> using namespace std; const int N = 100010; 阅读全文
posted @ 2022-11-30 21:11 !&&|| 阅读(59) 评论(0) 推荐(0) 编辑
摘要:输入一个 n行 m 列的整数矩阵,再输入 q 个询问,每个询问包含四个整数 x1,y1,x2,y2x1,y1,x2,y2,表示一个子矩阵的左上角坐标和右下角坐标。 输出子矩阵中所有数的和。 #include <iostream> #include <cstdio> using namespace s 阅读全文
posted @ 2022-11-30 21:10 !&&|| 阅读(21) 评论(0) 推荐(0) 编辑
摘要:输入一个长度为 n 的整数序列。 每个询问输入一对 {s,e};对于每个询问,输出原序列中从第 s个数到第 e个数的和。 #include <iostream> #include <cstdio> using namespace std; const int N = 100010; int n, m 阅读全文
posted @ 2022-11-30 20:51 !&&|| 阅读(47) 评论(0) 推荐(0) 编辑
摘要:给定两个非负整数,请你计算 它们 的商和余数。 #include <iostream> #include <vector> #include <algorithm> using namespace std; vector<int> a, c; int b; int div () { int t = 阅读全文
posted @ 2022-11-30 20:50 !&&|| 阅读(32) 评论(0) 推荐(0) 编辑
摘要:给定两个非负整数,请你计算它们的值。 #include <iostream> #include <vector> using namespace std; vector<int> a, b, c; void mul () { int m = a.size(), n = b.size(); c = v 阅读全文
posted @ 2022-11-30 20:45 !&&|| 阅读(24) 评论(0) 推荐(0) 编辑
摘要:给定两个正整数,计算它们的差。 #include <iostream> #include <vector> using namespace std; vector<int> a, b, c; bool cmp () { if (a.size() != b.size()) return a.size( 阅读全文
posted @ 2022-11-30 20:42 !&&|| 阅读(25) 评论(0) 推荐(0) 编辑
摘要:给定两个正整数(可能很大,超过long long 长度 #include <iostream> #include <vector> using namespace std; vector<int> a, b, c; void add () { int t = 0; for (int i = 0; i 阅读全文
posted @ 2022-11-30 20:41 !&&|| 阅读(38) 评论(0) 推荐(0) 编辑
摘要:求浮点数 n的三次方根 #include <iostream> using namespace std; double n; double BF (double x) { double l = -100, r = 100; while (r - l > 1e-8) { double mid = (l 阅读全文
posted @ 2022-11-30 20:38 !&&|| 阅读(161) 评论(0) 推荐(0) 编辑
摘要:给定一个按照升序排列的长度为n 的整数数组,对于每个查询,返回改元素的起始位置和终止位置。 如果数组中不存在该元素,则返回 {-1, -1}。 #include <iostream> using namespace std; int a[100010]; int n, q; int BF1 (int 阅读全文
posted @ 2022-11-30 20:32 !&&|| 阅读(35) 评论(0) 推荐(0) 编辑
摘要:给定一个长度为 n的整数数列,计算数列中的逆序对的数量。 #include <iostream> using namespace std; const int N = 100010; int n, a[N]; long long sort (int l, int r) { if (l >= r) r 阅读全文
posted @ 2022-11-30 20:29 !&&|| 阅读(23) 评论(0) 推荐(0) 编辑
摘要:给定一个长度为 n 的整数数列,以及一个整数 k,请用快速选择算法求出数列从小到大排序后的第 k 个数。 #include <iostream> using namespace std; const int N = 100010; int a[N], n, k; int sort (int l, i 阅读全文
posted @ 2022-11-30 20:23 !&&|| 阅读(30) 评论(0) 推荐(0) 编辑
摘要:在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 注意:如果某些数字不在 0 ~ n 的范围内,或数组中不包含重复数字,则返回 -1; 样例: 输入: [2, 3 阅读全文
posted @ 2022-11-16 16:17 !&&|| 阅读(118) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示