【牛客练习赛59】A:小乔和小灰灰
比赛地址:https://ac.nowcoder.com/acm/contest/4743/A
题目描述
小乔和小灰灰是好朋友,现在如果一个字符串中同时出现子序列“XiaoQiao”和“XiaoHuiHui”,那么小乔和小灰灰都会感到开心。如"abc"的子序列有:“a"、“b”、“c”、“ab”、“ac”、“bc”、“abc”。
输入描述:
输入包含一行一个字符串S字符串中仅包含大写字母和小写字母
输出描述:
如果这个串会让小乔和小灰灰都感到开心,那么输出“Happy”,否则输出“emm”。
示例1
XiaoQiaoheHuiHui Happy
示例2
Xiaohuihuihexiaoqiao emm
备注:
1<=∣S∣<=1000{1<=|S|<=1000}1<=∣S∣<=1000∣S∣表示字符串S的长度。
题解一:indexOf()
1 public static void main(String[] args) { 2 String son1 = "XiaoQiao"; 3 String son2 ="XiaoHuiHui"; 4 Scanner sc = new Scanner(System.in); 5 while (sc.hasNext()) { 6 String str = sc.nextLine(); 7 boolean check1 = isSubsequence(son1, str); 8 boolean check2 = isSubsequence(son2, str); 9 if(check1&&check2){ 10 System.out.println("Happy"); 11 }else { 12 System.out.println("emm"); 13 } 14 } 15 } 16 //indexOf(char c,int m)意思是从第m位置开始寻找该索引,找到则返回该索引,否则返回-1 17 public static boolean isSubsequence(String son, String str) { 18 int index = -1; 19 for (char c : son.toCharArray()) { 20 //返回第一次出现的指定子字符串在此字符串中的索引 21 index = str.indexOf(c, index + 1); 22 if (index == -1) 23 return false; 24 } 25 return true; 26 }
题解二:循环遍历
1 public static void main01() { 2 Scanner sc=new Scanner(System.in); 3 String s=sc.next(); 4 String s1="XiaoQiao"; 5 String s2="XiaoHuiHui"; 6 int a=0,b=0; 7 for (int i = 0; i <s.length(); i++) { 8 char c=s.charAt(i); 9 if(c==s1.charAt(a)) { 10 a++; 11 } 12 if(c==s2.charAt(b)) { 13 b++; 14 } 15 } 16 if(a==8&&b==10) { 17 System.out.println("Happy"); 18 }else { 19 System.out.println("emm"); 20 } 21 }
经验:
需要搞清楚父子关系,输入的是父串,而且两个子串的顺序不能改变
【牛客练习赛59】A:小乔和小灰灰相关推荐
- 牛客练习赛59 小松鼠吃松果(优化dp二维偏序)
小松鼠吃松果 非常nicenicenice的一道题 首先考虑dpdpdp 容易想到按照时间来排序 然后定义dp[i]dp[i]dp[i]为考虑前iii个果子且吃掉第iii个的最大价值 那么每次都去前面 ...
- 牛客练习赛59 4743 c 装备合成
题目链接 这题是一个标准的高中线性规划题,用线性规划的方法按部就班的解,就能做出来. 设n件装备采用方案一,m建装备采用方案二. 不过! 通过观察我们可以发现 如果y远小于x的时候,能做出来的最大数量 ...
- 牛客练习赛59 C 装备合成(贪心+数学)
题目链接 思路:贪心的尽量选第一种方案,设第一种方案用了k1次,第二种方案用了k2次,那么方程就是2k1+4k2=x,3k1+k2=y,那么就有10k1=4y-x,关键这里k1不一定是整数,所以k1这 ...
- 牛客练习赛34 E little w and Digital Root(数位dp)
title: 牛客练习赛34 E little w and Digital Root(数位dp) date: 2018-12-17 22:38:37 tags: 数位dp categories:ACM ...
- 牛客练习赛81 E. 小 Q 与函数求和 1( “简单莫比乌斯反演” ,欧拉函数性质)
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 牛客练习赛81 E. 小 Q 与函数求和 1( "简单莫比乌斯反演" ) Prob ...
- 解题报告(一)C、(牛客练习赛41 F)简单数学题(数论 + FWT)(3.5)
繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...
- 牛客练习赛34 - C little w and Segment Coverage(思维、树状数组)
title: 牛客练习赛34 - C little w and Segment Coverage(思维.树状数组) date: 2018-12-15 16:36:55 tags: [树状数组,思维] ...
- 牛客练习赛52 | C | [烹饪] (DP,裴蜀定理,gcd)
牛客练习赛52 C 烹饪 链接:https://ac.nowcoder.com/acm/contest/1084/C来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 327 ...
- 牛客练习赛73 D 离别(线段树+右端点排序离线查询)
牛客练习赛73 D 离别 思路: 对于每一个固定的右端点i,我们都找到一个区间(l,r)使得区间中的点为左端点时 里面最大的的种数为k. 这个可以用队列或者vector来维护. 然后我们对于q个查询, ...
最新文章
- C++ 数字、string 简便互转
- 使用SQLCMD在SQLServer执行多个脚本
- java 实例化 bean,Spring(02)——bean实例化
- 15个月纪念,开心!
- kaggle为什么总是难以拿到金牌
- 用FFMPEG SDK进行视频转码压缩时解决音视频不同步问题的方法(转) PTS DTS
- 如何在Chrome中保存您当前的所有标签,以便以后阅读
- runtime之ivar内存布局篇
- 在 ML2 中配置 VXLAN - 每天5分钟玩转 OpenStack(110)
- pch中常用的宏定义
- Filter过滤器详解
- 解析xml的四种方式
- 上行带宽,下行带宽和内网带宽的区别及相关问题
- java读取文件(java读取文件指定内容)
- 年薪50万PM总结的20个成功项目管理经验
- LINUX安装KDC服务
- 在小程序可以完成任务的情况下,为什么程序员非要编写大程序呢?
- 第七届河南省程序设计大赛——A 海岛争霸
- poi读取Excel文档(.xls .xlsx)包含合并单元格
- 畅想计算机的未来50字,新学期畅想50字
热门文章
- PMP项目管理的前路
- Imagination官方信息速递2021年12月期
- python 圆形的词云
- android自定义圆形进度条,实现动态画圆效果
- dokuwiki使用教程--创建页面和命名空间
- 运动控制系统 (1)概念、组成、发展
- 从键盘输入一个小写英文字母,将其转换成大写英文字母后,输出大写英文字母及其对应的十进制ASCII码值.
- 云之梦php免费教学视频下载_云知梦php基础+php进阶+mysql+linux+laravel全栈工程师【百度网盘】...
- 实时查询某宝某店铺口罩余量(python爬虫)
- cocos2d-x 内存优化之prv.ccz plist 文件加载