首页 > 代码库 > [编程题]小易喜欢的单词
[编程题]小易喜欢的单词
小易喜欢的单词具有以下特性:
1.单词每个字母都是大写字母
2.单词没有连续相等的字母
3.单词没有形如“xyxy”(这里的x,y指的都是字母,并且可以相同)这样的子序列,子序列可能不连续。
例如:
小易不喜欢"ABBA",因为这里有两个连续的‘B‘
小易不喜欢"THETXH",因为这里包含子序列"THTH"
小易不喜欢"ABACADA",因为这里包含子序列"AAAA"
小易喜欢"A","ABA"和"ABCBA"这些单词
给你一个单词,你要回答小易是否会喜欢这个单词。
输入描述:
输入为一个字符串,都由大写字母组成,长度小于100
输出描述:
如果小易喜欢输出"Likes",不喜欢输出"Dislikes"
输入例子:
AAA
输出例子:
Dislikes
1 import java.util.Scanner; 2 3 public class Main { 4 5 public static void main(String[] args) { 6 Scanner sc = new Scanner(System.in); 7 while(sc.hasNext()){ 8 String word = sc.next(); 9 10 if(isAllUpCase(word) && isConEql(word) && isThrEql(word)) 11 System.out.println("Likes"); 12 else 13 System.out.println("Dislikes"); 14 } 15 } 16 //条件1 17 public static boolean isAllUpCase(String word){ 18 // return word.matches("[A-Z]+"); 19 return word.equals(word.toUpperCase()); 20 } 21 //条件2 22 public static boolean isConEql(String word){ 23 return !word.matches(".*(.)(\\1).*"); 24 } 25 //条件3 26 public static boolean isThrEql(String word){ 27 return !word.matches(".*(.).*(.)(.*\\1)(.*\\2).*"); 28 } 29 }
[编程题]小易喜欢的单词
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。