计蒜客详解合集(2)期
目录
T1126——单词倒排
T1617——地瓜烧
T1612——蒜头君的数字游戏
T1488——旋转单词
T1461——校验信用卡号码
T1437——最大值和次大值
T1126——单词倒排
超级水的一道题,和T1122类似但更简单,分割后逆序输出即可~
- 编写程序,读入一行英文(只包含字母和空格,单词间以单个空格分隔),将所有单词的顺序倒排并输出,依然以单个空格分隔。
- 输入格式:输入为一个字符串 (字符串长度至多为 100)。
- 输出格式:输出为按要求排序后的字符串。
#include <iostream>
#include <string>
#include <vector>
using namespace std;int main(int argc, char** argv) {string S;vector<string> V;getline(cin,S);string temp;//分割单词 for(int i=0;i<=S.size()-1;i++){temp+=S[i];if(S[i]==' '||i==S.size()-1)//最后一个单词要有单独的操作 {V.push_back(temp);temp.clear();} }//删除除了最后一个单词以外,末尾的空格 for(int i=0;i<V.size()-1;i++){string temp=V[i];temp.erase(temp.size()-1);V[i]=temp;}for(int i=V.size()-1;i>=0;i--){cout<<V[i]<<" ";}cout<<endl;return 0;
}
T1617——地瓜烧
同样是水题,不解释~
- 恭头君喜欢喝地瓜烧,刚开始他在小卖部买了 地瓜烧,已知 人空可以换一瓶地风烧,请帮他计算一下,最后能喝几瓶地瓜院。(小卖部不允许借商品)
- 输入格式:行包括两个整数n,k (1< n,k <=108)。
- 输出格式:输出一个整数,表示蒜头君最多能喝地瓜烧的瓶数。
#include <iostream>
using namespace std;/* run this program using the console pauser or add your own getch, system("pause") or input loop */int main(int argc, char** argv)
{int n=0,k=0;cin>>n>>k;int num1=n;int num2=n/k;cout<<(num1+num2)<<endl;return 0;
}
T1612——蒜头君的数字游戏
水题,太简单不解释,记得别把多余的0输入就行,由于没有明确的循环次数,本题用while循环更适合一些。
- 蒜头君最近被要求参加一个数字游戏,要求他把看刊的一系列整数长度不一定,以0 结束,最多不过 100 个),记住了然后反着念出来表示结中的数字0就不要今出来了,这对蒜头君的那点记忆力来说实在是太难了,所以请你帮他偏程解决这个问题。
- 输入格式:行内输入一系列整数 (大小在(1~10^9 之内) ,以0结束,用空格来分隔。
- 输出格式:行内倒着输出这一系列整数,以空格间隔。
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;int main(int argc, char** argv)
{int num=-1;vector<int> V;//初始化必备变量 while(num!=0){cin>>num;V.push_back(num);}reverse(V.begin(),V.end());//翻转 for(vector<int>::iterator it=V.begin()+1;it!=V.end();it++)cout<<(*it)<<" ";cout<<endl;//从第二个下标开始迭代,去掉多余的0 return 0;
}
T1488——旋转单词
- 今天的英语课,王老师为了复习以前学过的单词,提高学生的学习兴趣。想出了一个主意:读入 M组数据 ,其中每组数据一个单词(单长度 36 字个字符)和一个整数N(1~36),从该单词末位开始逐位相移到单词的开头。如果还没达到N倍 ,则再从末位未位开移,直到 N 为止,求称 N 位后的新单词,你能编程帮助贝贝最快完成任务吗?
- 输入格式:文件共有2 x M +1行,第1行为 M,第2行开始为体数据,每一组数据有2行,第1行字串L,第2行为N.
- 输出格式:共 M 行,每行为旋转后的字串。
如题,抽象本题的重点在于以下几点:
1.输入一个字符串并匹配一个专属的数字
2.将每一个字符串后n位按照原顺序前置
对于要点1,此处采用自定义类型压入vector解决;对于要点2,采用双循环遍历解决。
具体见代码:
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
using namespace std;struct yuansu{string s;int num;//自定义类型符合题意要求
};int main(int argc, char** argv)
{vector<yuansu> V;int n=0;cin>>n;for(int i=1;i<=n;i++){yuansu temp;cin>>temp.s;cin>>temp.num;V.push_back(temp);}//接受题干数据 vector<string> G;//G用来存放处理后的字符串 for(int i=0;i<=V.size()-1;i++){string linshi;//临时的字符串 string goal=V[i].s;int n=V[i].num;int length=goal.size()-1;//获取当前元素的字符串和数字M,以及当前字符串的下标最大值 for(int j=length,k=1;k<=n;j--,k++){//从最后一个字符开始操作,选取n个字符(即题干中的M) linshi+=goal[j];//采用字符串的加法赋值 }reverse(linshi.begin(),linshi.end());//注意!由于字符串的加法是将新的字符加到最后面,所以此处先进行翻转使其符合题意 for(int p=0;p<=length-n;p++){linshi+=goal[p];//将前length-n个不需要翻转的字符串补充进去 }G.push_back(linshi);//压入G中,进行下一组元素的操作 } for(vector<string>::iterator it=G.begin();it!=G.end();it++)cout<<(*it)<<endl;//遍历G,得出答案 return 0;
}
加入一个藏头诗版的测试用例:完美AC
T1461——校验信用卡号码
如题,本题需要解决的本质就是多个字符串转换为整型数据的过程。主要的考点在于如下3个:
1.循环输入多个字符串并不间断
2.将字符串处理为整型数据
3.完成对整形数据的检验
上述三个要求通过STL可以很轻松地解决,具体做法写在了代码注释之中。
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;void vectorPrint(vector<int> T1)
{for(vector<int>::iterator it=T1.begin();it!=T1.end();it++)cout<<(*it)<<" ";//打印整型vector的方法,没有实际意义,仅仅用来调试
} /* run this program using the console pauser or add your own getch, system("pause") or input loop */int main(int argc, char** argv)
{string temp;//定义临时目标字符串 while (cin>>temp)//当输入字符串时,循环就不停止,一直进入并计算 {
// cout<<temp<<endl;vector<int> V;for(int i=0;i<=temp.size()-1;i++){int t=temp[i]-48;//将字符串的每一位处理为int型的数据,并且压入int型的vector V.push_back(t);}
// vectorPrint(V);reverse(V.begin(),V.end());//逆向操作后,从头开始按照奇数偶数位遍历。 int jishu=0,oushu=0,sum=0;for(int i=0;i<=V.size()-1;i+=2){jishu+=V[i];//奇数位直接相加 } for(int i=1;i<=V.size()-1;i+=2){V[i]*=2;if(V[i]>=10)V[i]-=9;oushu+=V[i];//偶数位判断*2是否大于10,大于10需要减9 }sum=jishu+oushu;//求和后判断是否可以整除10,完杀 if(sum%10==0)cout<<"Pass"<<endl;elsecout<<"Fail"<<endl;}return 0;
}
T1437——最大值和次大值
比较简单的题,用STL库可以大幅度降低代码复杂度:将int型的数字压入到vector中,调用sort实现从小到大排序,再采用reverse将其翻转为从大到小。将第一个元素(最大值)首先输出,再遍历后面第一个与最大值不同的元素,其即为题干要求的次大值。
sort和reverse均在头文件“#include <algorithm>”中。
代码如下:
#include <iostream>
#include <vector>
#include <algorithm>using namespace std;/* run this program using the console pauser or add your own getch, system("pause") or input loop */int main(int argc, char** argv)
{int n=0;cin>>n;vector<int> V;for(int i=1;i<=n;i++){int temp=0;cin>>temp;V.push_back(temp); }sort(V.begin(),V.end());reverse(V.begin(),V.end());//从大到小排序
// for(vector<int>::iterator it=V.begin();it!=V.end();it++)
// cout<<(*it)<<" ";
// cout<<endl;int max=V[0];cout<<max<<endl;for(int i=1;i<=n-1;i++){if(V[i]!=max){cout<<V[i]<<endl;break;} } return 0;
}
相关文章:

计蒜客详解合集(2)期
目录 T1126——单词倒排 T1617——地瓜烧 T1612——蒜头君的数字游戏 T1488——旋转单词 T1461——校验信用卡号码 T1437——最大值和次大值 T1126——单词倒排 超级水的一道题,和T1122类似但更简单,分割后逆序输出即可~ 编写程序,读入…...

华为防火墙vrrp+hrp双机热备主备备份(两端为交换机)
默认上下来全两个vrrp主都是左边 工作原理: vrrp刚开机都是先initialize状态,然后切成active或standb状态。 hrp使用18514端口,且用的单播,要策略放行,由主设备发hrp心跳报文 如果设备为acitve状态时自动优先级为65…...

Angular 由一个bug说起之一:List / Grid的性能问题
在angular中,MatTable构建简单,使用范围广。但某些时候会出现卡顿 卡顿情景: 1:一次性请求太多的数据 2:一次性渲染太多数据,这会花费CPU很多时间 3:行内嵌套复杂的元素 4:使用过多的…...

第12章 PyTorch图像分割代码框架-3:推理与部署
推理模块 模型训练完成后,需要单独再写一个推理模块来供用户测试或者使用,该模块可以命名为test.py或者inference.py,导入训练好的模型文件和待测试的图像,输出该图像的分割结果。inference.py主体部分如代码11-7所示。 代码11-7 …...
MYSQL---基础篇
一、数据库操作 1.创建数据库:CREATE DATABASE db_test1; 2.使用数据库:use 数据库名; 3.删除数据库:DROP DATABASE [IF EXISTS] db_name; 4.创建表:CREATE TABLE table_name ( field1 datatype, field2…...

【启扬方案】启扬安卓屏一体机在医疗自助服务终端上的应用解决方案
为了解决传统医疗模式下的“看病难、看病慢”等问题,提高医疗品质、效率与效益,自助服务业务的推广成为智慧医疗领域实现信息化建设、高效运作的重要环节。 医疗自助服务终端是智慧医疗应用场景中最常见的智能设备之一,它通过与医院信息化系统…...

收藏!7个国内「小众」的程序员社区
技术社区是大量开发者的集聚地,在技术社区可以了解到行业的最新进展,学习最前沿的技术,认识有相同爱好的朋友,在一起学习和交流。 国内知名的技术社区有CSDN、博客园、开源中国、51CTO,还有近两年火热的掘金ÿ…...

LeetCode(4)删除有序数组中的重复项 II【数组/字符串】【中等】
目录 1.题目2.答案3.提交结果截图 链接: 80. 删除有序数组中的重复项 II 1.题目 给你一个有序数组 nums ,请你** 原地** 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。 不要使用额外的数…...
C++ 同构字符串/ 单词规律
给定两个字符串 s 和 t ,判断它们是否是同构的。 如果 s 中的字符可以按某种映射关系替换得到 t ,那么这两个字符串是同构的。 每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相…...
oracle 中 %TYPE %ROWTYPE
前言 PL/SQL 提供了 %TYPE 和 %ROWTYPE 两种特殊的变量,用于声明与表的列相匹配的变量和用户定义数据类型,前一个表示单属性的数据类型,后一个表示整个属性列表的结构,即元组的类型。 举例: -- 数据表TB_TRANS_RECO…...
Pytorch实战教程(五)-计算机视觉基础
0. 前言 计算机视觉是指通过计算机系统对图像和视频进行处理和分析,利用计算机算法和方法,使计算机能够模拟和理解人类的视觉系统。通过计算机视觉技术,计算机可以从图像和视频中提取有用的信息,实现对环境的感知和理解,从而帮助人们解决各种问题和提高效率。本节中,将介…...

51单片机PCF8591数字电压表数码管显示设计( proteus仿真+程序+设计报告+讲解视频)
PCF8591数字电压表数码管显示 1.主要功能:讲解视频:2.仿真3. 程序代码4. 设计报告5. 设计资料内容清单&&下载链接资料下载链接(可点击): 51单片机PCF8591数字电压表数码管设计( proteus仿真程序设计报告讲解视…...

普华永道于进博会首发“企业数据资源会计处理一体化平台”
11月6日,在第六届中国国际进口博览会上,普华永道发布企业数据资源会计处理一体化平台(英文名为Data Accounting Platform,简称DAP)。该产品以普华永道“五步法”数据资源入表路径为理论依据,依托多年来普华…...

IDEA 使用Reset Current Branch to Here 进行git 版本控制,图文操作
文章目录 一、总结区别(只针对本地仓库操作)Soft详细解释文件版本冲突处理 Mixed详细解释Hard详细解释Keep详细解释文件版本冲突处理 二、其他Revert commit 参考文档 一、总结区别(只针对本地仓库操作) Soft详细解释 Soft操作只…...

有趣的 TCP 抢带宽行为
昨天发了一篇 非技术文章,很多人找我讨论,浓缩成一句话,就是 “死道友而不死贫道”,我的简历上写着这些把戏能带来什么,我的 blog 上写着这么做是多么无耻,哈哈。 看看共享链路上如何挤占带宽: …...

HCIP---VRRP
文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 一. VRRP概述 VRRP---虚拟路由器冗余协议 VRRP(Virtual Router Redundancy Protocol)是一种用于在多个路由器之间创建虚拟路由器的协议。 VRRP使用了一系列协议来实现路…...

在家用Python搞副业,也能月入10000+
下班副业实现经济自由的时候,你还在床上躺着,天天摆烂吗?这样的生活真的是你想要的吗? 疫情在家接一些Python相关的小单子,既能给自己练手,还能赚是真香 从零基础开始真的一台电脑和一部手机就可以✅ 一次…...
play() failed because the user didn‘t interact with the document first.
起因: 进入页面视频不自动播放(有时候可以,有时候不行)。 原因: Chrome 在66版本后为了避免标签产生随机噪音,都在遵循autoplay政策。 解决方法: 为 video 标签设置静音状态即可(添…...
Java任意视频转MP4
Java任意视频转MP4 在做视频上传功能时候,用户可能上传不同类型的视频文件,导致需要特定播放器才能播放,为了解决视频格式统一问题需要把视频转码一下 ,转换成统一的MP4格式。我们直接使用第三方工具 FFmpeg FFmpeg介绍 FFmpeg…...
flutter实践:慎用Expanded
问题:在一个Android原生的弹框里显示flutter view,由于使用了Expanded导致组件未显示出来 最神奇的地方在于debug调试模式显示正常,然后用release版本发布时怎么都显示不出来,还导致点击后无响应ANR 问题代码: child: Stateful…...

UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...
synchronized 学习
学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...

微信小程序之bind和catch
这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件
在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...

UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

定时器任务——若依源码分析
分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1
每日一言 生活的美好,总是藏在那些你咬牙坚持的日子里。 硬件:OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写,"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...

微服务商城-商品微服务
数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...