当前位置: 首页 > news >正文

C++笔试训练day_1

文章目录

  • 选择题
  • 编程题

选择题

在这里插入图片描述

编程题

在这里插入图片描述
在这里插入图片描述

#include <iostream>
#include <algorithm>
#include <vector>using namespace std;int main() {int n = 0;cin >> n;vector<int> v;v.resize(3 * n);int x = 0;for(int i = 0; i < v.size(); i++){cin >> v[i];}sort(v.begin(), v.end());//int sum = 0;long long sum = 0;for(int j = 0; j < n; j++){sum += v[v.size() - (j + 1) * 2];}cout << sum << endl;return 0;
}
// 64 位输出请用 printf("%lld")

在本题中最重要的就是怎么进行分组,然后怎么取到每组里面的中位数:我们选择通过resize扩容vector然后输入数据,去对这组数据进行排序,而分组方式是第一组取一个最小值和最大的两个值,第二组取次小值和次大的两个值,一次类推,这样就保证了我们一定可以去取到次大的值。
在这里插入图片描述
因此中位数就是和6,结果sum就是9
而在已经排好序的vector中怎么直接去取到这两组中的中位数呢?
此时就要借助一个公式:**v.size() - 2 * (i + 1)**其中i表示第几组
第0组也就是第1组:中位数下标为6 - 2 = 4
第1组也就是第2组:中位数下标为6 - 4 = 2
其实这个公式也就是从后向前依次取倒数第2个值,size - 2,size - 4就是倒数第二个值和倒数第4个值,注意size值比下标多1
2.
在这里插入图片描述
在这里插入图片描述

#include <iostream>
using namespace std;int main() {string str1, str2;getline(cin, str1);getline(cin, str2);int hash[256] = {0};for(int i = 0; i < str2.size(); i++){hash[str2[i]]++;}string s;for(int j = 0; j < str1.size(); j++){if(hash[str1[j]] == 0){s += str1[j];}}cout << s << endl;return 0;
}
// 64 位输出请用 printf("%lld")

解题思路:利用哈希映射的特性来解决上述问题,就可以以O(n)的复杂度解决问题,先把不能出现的字符映射到hash表上,在对str1进行遍历,如果它在hash上对应的字符为0,就证明这个字符能出现。注意本题使用getline输入一行字符串

http://www.lryc.cn/news/251691.html

相关文章:

  • 详解Spring对Mybatis等持久化框架的整合
  • [Electron] 将应用打包成供Ubuntu、Debian平台下安装的deb包
  • 7.24 SpringBoot项目实战【审核评论】
  • Java实现动态加载的逻辑
  • 数据库的设计规范
  • 正则表达式从放弃到入门(2):grep命令详解
  • 用Java写一个王者荣耀游戏
  • 基于SSM的新闻网站浏览管理实现与设计
  • 【蓝桥杯软件赛 零基础备赛20周】第6周——栈
  • CWE/SANS TOP 25 2022
  • Qt 天气预报项目
  • 新知识-Tuple元组的使用
  • “此应用专为旧版android打造,因此可能无法运行”,问题解决方案
  • 【Leetcode题单】(01 数组篇)刷题关键点总结03【数组的改变、移动】
  • Lag-Llama:基于 LlaMa 的单变量时序预测基础模型
  • vue3 :deep() 深度选择器不生效
  • 从零构建属于自己的GPT系列1:数据预处理(文本数据预处理、文本数据tokenizer、逐行代码解读)
  • c++中函数的引用
  • IDA常用操作、快捷键总结以及使用技巧
  • Kibana使用指南
  • wvp如果确认音频udp端口开放成功
  • C#文件夹基本操作(判断文件夹是否存在、创建文件夹、移动文件夹、删除文件夹以及遍历文件夹中的文件)
  • python 交互模式和命令行模式的问题
  • 计算机网络——数据链路层
  • 【限时免费】20天拿下华为OD笔试之【哈希集合】2023B-明明的随机数【欧弟算法】全网注释最详细分类最全的华为OD真题题解
  • 播放器开发(五):视频帧处理并用SDL渲染播放
  • Spring MVC数据绑定的几种方法(一)
  • CSP-坐标变换(其二)
  • docker 安装jekins
  • ChatGPT 问世一周年之际,开源大模型能否迎头赶上?