首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >黑化的牛牛

黑化的牛牛

作者头像
AI那点小事
发布2020-04-18 20:02:57
发布2020-04-18 20:02:57
3990
举报
文章被收录于专栏:AI那点小事AI那点小事

牛牛变得黑化了,想要摧毁掉地球。但他忘记了开启地球毁灭器的密码。牛牛手里有一个字符串S,牛牛还记得从S中去掉一个字符就恰好是正确的密码,请你帮牛牛求出他最多需要尝试多少次密码。 如样例所示S = “ABA”,3个可能的密码是”BA”, “AA”, “AB”. 当S = “A”, 牛牛唯一可以尝试的密码是一个空的密码,所以输出1. 输入描述: 输入包括一个字符串S,字符串长度length(1 ≤ length ≤ 50),其中都是从’A’到’Z’的大写字母。

输出描述: 输出一个整数,表示牛牛最多需要尝试的密码次数。

输入例子: ABA

输出例子: 3

代码语言:javascript
复制
import java.util.HashSet;
import java.util.Scanner;

/*
 * 利用hashset的特性,集合中不能含有重复元素
 * 当输入字符串长度为1时,直接输出0
 * 大于1时,遍历字符串,一次把每位上的元素去除的字符串放入hashset中,
 * 要输出的就是hashset的长度
 */

public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner in = new Scanner(System.in);
        HashSet<String> set = new HashSet<>();
        String str = in.nextLine();
        char[] ch = str.toCharArray();
        if(ch.length == 1){
            System.out.println(1);
        }else{
            for(int i = 0 ; i < ch.length ; i++){
                String s = "";
                if(i == 0){
                    s += str.substring(i+1);
                }else if(i == ch.length-1){
                    s += str.substring(0, ch.length-1);
                }else{
                    s += str.substring(0, i);
                    s += str.substring(i+1,ch.length);
                }
                set.add(s);
            }
            System.out.println(set.size());
        }
        in.close();
    }

}

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档