这题的思路有俩:

思路1:将字符串转化成字符串数组,如何比对每相邻的值是否与VK相等,然后赋其他值,防止二次判断,这样先将VK找出,随后进行替换,如果出现VV或KK则替换一个即可变成VK,KV则不行

思路2:利用String中的replace方法先找替换VK成“”,再用原来字符串长度减去替换后的字符串长度除2可得换掉的VK,然后将替换VK后的字符串转换成字符串字符,判断里面是否出现VV、KK,如果有,总数+1即可。PS这个思路只拿了96分。

思路1代码

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner cin = new Scanner (System.in);int n = cin.nextInt();String s = cin.next();char[] ch = s.toCharArray();int num = 0;boolean isVk = false;for(int i = 0; i < s.length()-1; i++) {if(ch[i] == 'V' && ch[i+1] == 'K') {num++;ch[i] = 'X';ch[i+1] = 'Y';}}for(int i = 0; i < s.length()-1; i++) {if(ch [i] == ch [i+1])isVk = true;}if(isVk)System.out.println(num+1);elseSystem.out.println(num);}
}

思路2代码:

import java.util.Scanner;
public class P3741honoka的键盘 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();String s = sc.next();String t = "VK";int count = 0;//原来字符串的长度.。原来的字符串长度减去替换后的得到VK一共的长度,在/2便是换了几个VKint start = s.length();String end = s.replace("VK","");char[] c = end.toCharArray();//l是将字符串中VK字符替换后剩余字符串的长度int l = s.replace("VK", "").length();boolean isVK = false;//替换了几次count = (start - l) / 2;//判断替换过后的剩余字符串中是否出现可以替换的for (int i = 0; i < end.length()-1; i++) {if (c[i] ==  c[i + 1]  ) {isVK = true;break;}}if (isVK) {System.out.println(count + 1);} else {System.out.println(count);}}
}

洛谷P3741 honoka的键盘Java题解相关推荐

  1. 洛谷P3741 honoka的键盘

    题目背景 honoka 有一个只有两个键的键盘. 题目描述 一天,她打出了一个只有这两个字符的字符串.当这个字符串里含有 VK 这个字符串的时候,honoka 就特别喜欢这个字符串.所以,她想改变至多 ...

  2. P3741 honoka的键盘 Java

    P3741 honoka的键盘 Java 题目: 说明: 本题目我采用的是将输入字符串转换为数组,这样方便使用数组名[i]来引用元素. 这道题我出错在:找到"VK"字符串后,并没有 ...

  3. 洛谷p1506——拯救oibh总部 Java题解 DFS

    看了一下java的题解比较少,来发表一下Java AC代码.用的是DFS,染色题型. import java.util.*; public class Main{static Scanner sc=n ...

  4. java 旅行家的预算_洛谷 P1016 旅行家的预算 Java解法

    洛谷 P1016 旅行家的预算 Java解法 洛谷 P1016 旅行家的预算 Java解法 package com.two; import java.util.Scanner; public clas ...

  5. 洛谷P5520 [yLOI2019] 青原樱 题解

    洛谷P5520 [yLOI2019] 青原樱 题解 题目链接:P5520 [yLOI2019] 青原樱 题意: n n n 个空放 m m m 个物品,两两物品不能直接相邻,至少空一格 纯数学题. 看 ...

  6. 洛谷P5633 最小度限制生成树 题解

    洛谷P5633 最小度限制生成树 题解 题目链接:P5633 最小度限制生成树 题意: 给你一个有 n n n 个节点, m m m 条边的带权无向图,你需要求得一个生成树,使边权总和最小,且满足编号 ...

  7. 洛谷P2619 [国家集训队]Tree I 题解

    洛谷P2619 [国家集训队]Tree I 题解 题目链接:P2619 [国家集训队]Tree I 题意: 给你一个无向带权连通图,每条边是黑色或白色.让你求一棵最小权的恰好有 need\text{n ...

  8. 洛谷P1282 多米诺骨牌 题解

    洛谷P1282 多米诺骨牌 题解 题目链接:P1282 多米诺骨牌 题意: 多米诺骨牌由上下 222 个方块组成,每个方块中有 1∼61\sim61∼6 个点.现有排成行的上方块中点数之和记为 S1S ...

  9. 洛谷P4084 [USACO17DEC]Barn Painting G 题解

    洛谷P4084 [USACO17DEC]Barn Painting G 题解 题目链接:P4084 [USACO17DEC]Barn Painting G 题意:题意:给定一颗N个节点组成的树,3种颜 ...

最新文章

  1. UML序列图总结(Loop、Opt、Par和Alt)
  2. 设置行内元素宽高和背景色后,行内元素文本不水平垂直居中解决方案
  3. MFc消息映射机制理解
  4. 鸿蒙系统正式面世,跨时代!“鸿蒙”系统正式面世!余承东:如有必要随时可替代安卓...
  5. 进度条(5.16-5.22)
  6. 隐藏input的三种方法
  7. shader篇-立方体纹理
  8. “阴魂不散”的新冠:最新研究发现98种长期的新冠病毒后遗症
  9. 正则表达式前端js,银行卡号/身份证/姓名号脱敏
  10. PDF如何在线翻译?PDF在线翻译的方法
  11. 再见深圳!我要去成都搞IT了!
  12. org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actua
  13. 计算机基础——操作系统篇概览
  14. 【小白入门】Socket和webSocket入门 这一篇就够了!用php的Socket自己实现简单webSocket服务器!
  15. 兼收并蓄,不要试图去研究它.---JAVA之我注六经之三
  16. Java接收并上传图片至S3,返回图片URL,并删除本地图片
  17. NetLogo 语法总结
  18. steamvr unity 连接眼镜_unity Steam VR 手柄按键基本操作
  19. Leave-one-out——留一法
  20. FileZilla_Server_1.3.0_win64-setup

热门文章

  1. 我爱天文 - 你有星空摄影的知识吗?
  2. 隐居山里,靠交易度日,维持最低消费,哥们称神
  3. 基于win10自带虚拟机安装UbuntuServer
  4. 计算机组装与维护第二次作业,组装电脑心得(共9篇).docx
  5. 2021-12-31 Android rc文件里面的on property在哪里执行,这里简单跟踪一下
  6. python之爬去微信通信录好友头像
  7. SY8060,矽力杰DCDC,禾川兴科技,资源,方案2.22.2.22
  8. Java - 中间件简介
  9. 【CTR预估】互联网大厂CTR预估前沿进展
  10. RedditVideoMakerBot 视频制作机器人自动生成视频搭建教程