比赛地址: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:小乔和小灰灰相关推荐

  1. 牛客练习赛59 小松鼠吃松果(优化dp二维偏序)

    小松鼠吃松果 非常nicenicenice的一道题 首先考虑dpdpdp 容易想到按照时间来排序 然后定义dp[i]dp[i]dp[i]为考虑前iii个果子且吃掉第iii个的最大价值 那么每次都去前面 ...

  2. 牛客练习赛59 4743 c 装备合成

    题目链接 这题是一个标准的高中线性规划题,用线性规划的方法按部就班的解,就能做出来. 设n件装备采用方案一,m建装备采用方案二. 不过! 通过观察我们可以发现 如果y远小于x的时候,能做出来的最大数量 ...

  3. 牛客练习赛59 C 装备合成(贪心+数学)

    题目链接 思路:贪心的尽量选第一种方案,设第一种方案用了k1次,第二种方案用了k2次,那么方程就是2k1+4k2=x,3k1+k2=y,那么就有10k1=4y-x,关键这里k1不一定是整数,所以k1这 ...

  4. 牛客练习赛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 ...

  5. 牛客练习赛81 E. 小 Q 与函数求和 1( “简单莫比乌斯反演” ,欧拉函数性质)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 牛客练习赛81 E. 小 Q 与函数求和 1( "简单莫比乌斯反演" ) Prob ...

  6. 解题报告(一)C、(牛客练习赛41 F)简单数学题(数论 + FWT)(3.5)

    繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...

  7. 牛客练习赛34 - C little w and Segment Coverage(思维、树状数组)

    title: 牛客练习赛34 - C little w and Segment Coverage(思维.树状数组) date: 2018-12-15 16:36:55 tags: [树状数组,思维] ...

  8. 牛客练习赛52 | C | [烹饪] (DP,裴蜀定理,gcd)

    牛客练习赛52 C 烹饪 链接:https://ac.nowcoder.com/acm/contest/1084/C来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 327 ...

  9. 牛客练习赛73 D 离别(线段树+右端点排序离线查询)

    牛客练习赛73 D 离别 思路: 对于每一个固定的右端点i,我们都找到一个区间(l,r)使得区间中的点为左端点时 里面最大的的种数为k. 这个可以用队列或者vector来维护. 然后我们对于q个查询, ...

最新文章

  1. C++ 数字、string 简便互转
  2. 使用SQLCMD在SQLServer执行多个脚本
  3. java 实例化 bean,Spring(02)——bean实例化
  4. 15个月纪念,开心!
  5. kaggle为什么总是难以拿到金牌
  6. 用FFMPEG SDK进行视频转码压缩时解决音视频不同步问题的方法(转) PTS DTS
  7. 如何在Chrome中保存您当前的所有标签,以便以后阅读
  8. runtime之ivar内存布局篇
  9. 在 ML2 中配置 VXLAN - 每天5分钟玩转 OpenStack(110)
  10. pch中常用的宏定义
  11. Filter过滤器详解
  12. 解析xml的四种方式
  13. 上行带宽,下行带宽和内网带宽的区别及相关问题
  14. java读取文件(java读取文件指定内容)
  15. 年薪50万PM总结的20个成功项目管理经验
  16. LINUX安装KDC服务
  17. 在小程序可以完成任务的情况下,为什么程序员非要编写大程序呢?
  18. 第七届河南省程序设计大赛——A 海岛争霸
  19. poi读取Excel文档(.xls .xlsx)包含合并单元格
  20. 畅想计算机的未来50字,新学期畅想50字

热门文章

  1. PMP项目管理的前路
  2. Imagination官方信息速递2021年12月期
  3. python 圆形的词云
  4. android自定义圆形进度条,实现动态画圆效果
  5. dokuwiki使用教程--创建页面和命名空间
  6. 运动控制系统 (1)概念、组成、发展
  7. 从键盘输入一个小写英文字母,将其转换成大写英文字母后,输出大写英文字母及其对应的十进制ASCII码值.
  8. 云之梦php免费教学视频下载_云知梦php基础+php进阶+mysql+linux+laravel全栈工程师【百度网盘】...
  9. 实时查询某宝某店铺口罩余量(python爬虫)
  10. cocos2d-x 内存优化之prv.ccz plist 文件加载