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

【笔试训练】简单写词|dd爱框框|除2!

文章目录

  • 1.简单写词
  • 2.dd爱框框
  • 3.除2!


1.简单写词

简单写词
在这里插入图片描述

思路:这道题思路非常简单,while(cin)循环输入每个单词,自动跳过空格,所以每次都只要判断单词的第一个字母是否是大写,如果是,则输出,如果是小写,则转成大写再输出即可。

#include <iostream>
#include <string>
using namespace std;int main() {//以空格作为分割符string s;while(cin >> s)   //这里自动跳过空格,否则如果直接输入空格会直接停止。{if(s[0] >= 'a' && s[0] <= 'z')cout <<  (char)(s[0]  - 'a' + 'A');else cout << s[0];}return 0;
}

2.dd爱框框

dd爱框框

在这里插入图片描述

思路:
这道题是一道典型的滑动窗口题目,只不过要注意一个细节问题:有效下标是从1开始的!!
这道题我一开始写的时候死活写不出来,看了题解才发现是下标问题。

滑动窗口四部曲:

  • 1.进窗口
  • 2.while/if判断要出窗口的条件
  • 3.出窗口
  • 4.更新结果(这个更新结果不一定是在最后一步进行,要看具体的题目,有可能是在任意位置更新结果)
//经典滑动窗口
//冯你个福的一开始写没注意到数组是从1开始的。
#include <iostream>
#include <vector>
using namespace std;int main()
{int n,x;cin >> n >> x;vector<int>arr(n+1,0);for(int i = 1;i <= n;i++)cin >> arr[i];int l = 1,r = 1;int sum = 0,len = 10000000;int flagl = 0;while(r <= n){//1.进窗口sum += arr[r];while(sum >= x) //2.判断{//每次都更新结果,保证len最小,且l最小。if(r-l+1 < len){flagl = l; //flagl就是最小的len = min(len,r - l + 1);}//出窗口sum -= arr[l++];}r++;}cout << flagl << " " << flagl + len - 1 << endl;return 0;
}

3.除2!

在这里插入图片描述
除2!

思路:
1.搞一个大根堆,一遍输入一边判断如果输入的元素为偶数,则进堆(奇数不进堆)
2.每次都取出堆顶元素(取了最大的偶数),进行/2操作,然后再判断/2后是否还是偶数,是的话再次进堆
3.循环进行,直到堆为空||操作了k次。
4.返回所有操作后的值即可。

#include <iostream>
#include <queue>using namespace std;int main()
{int n,k;cin >> n >> k;priority_queue<long long> heap;int i = 0;long long sum = 0; //统计所有被操作过和没被操作过的元素和while(i < n){long long a;cin >> a;sum += a;if(a % 2 == 0)heap.push(a);i++;}while(heap.size() && k--){long long t = heap.top();heap.pop();t /= 2;sum -= t; //该语句位置一定要放对if(t % 2 == 0)heap.push(t);}cout << sum << endl;return 0;
}
http://www.dtcms.com/a/193219.html

相关文章:

  • 深度理解用于多智能体强化学习的单调价值函数分解QMIX算法:基于python从零实现
  • 【C#】Thread.Join()、异步等待和直接join
  • AutoVACUUM (PostgreSQL) 与 DBMS_STATS.GATHER_DATABASE_STATS_JOB_PROC (Oracle) 对比
  • SCI写作开挂!把Grammarly语法修订嵌入word
  • LLM中最后一个位置的对数概率是什么? 怎么作为LOSS实现方式
  • P1260 工程规划
  • 【vue】【环境配置】项目无法npm run serve,显示node版本过低
  • 夏季养生4要点
  • ⼀键登录原理是什么?⼀键登录sdk怎么选?
  • 快速通关单链表秘籍
  • Java爬虫能处理京东商品数据吗?
  • ruskal 最小生成树算法
  • 嵌入式培训之数据结构学习(四)双向链表、makefile
  • Java 序列化(Serialization)
  • MUSE Pi Pro 使用TiTanTools烧录镜像
  • SiFli-SDK 编译
  • 车载诊断进阶篇 --- 车载诊断概念
  • 基于互联网和LabVIEW的多通道数据采集系统仿真设计
  • Spring 模拟转账开发实战
  • Spring MVC HttpMessageConverter 的作用是什么?
  • 2025年,如何制作并部署一个完整的个人博客网站
  • 智能视觉赋能精准抓取:富唯智能重新定义机械臂应用新高度​
  • 嵌入式学习笔记 D21:双向链表的基本操作
  • 深入浅出:Windows系统DLL劫持提权原理
  • 位运算题目:找到最接近目标值的函数值
  • 面试从微前端拓展到iframe是如何通信的
  • 计量——检验与代理变量
  • 【备忘踩坑】Android单元测试中读取测试assets的方法
  • EdgeShard:通过协作边缘计算实现高效的 LLM 推理
  • NY244NY249美光闪存颗粒NY252NY256