华为od 最长密码

2023-11-06

题目描述:

小王在进行游戏大闯关,有一个关卡需要输入一个密码才能通过。密码获得的条件如下:在一个密码本中,每一页都有一个由26个小写字母组成的若干位密码,每一页的密码不同,需要从这个密码本中寻找这样一个最长的密码,从它的末尾开始依次去掉一位得到的新密码也在密码本中存在。请输出符合该要求的密码,如果有多个符合要求的密码,则返回字典序最大的密码。若没有符合要求的密码,则返回空字符串。

输入描述:

密码本由一个字符串数组组成,不同元素之间使用空格隔开,每一个元素代表密码本每一页的密码

输出描述:

一个字符串

补充说明:

1 <= 密码本的页数 <= 105

1 <= 每页密码的长度 <= 105

示例1

输入:

h he hel hell hello

输出:

hello

说明:

"hello"从末尾依次去掉一位得到的 "hell","hel","he"和"h"在密码本中都存在。

示例2

输入:

b eredderd bw bww bwwl bwwlm bwwln

输出:

bwwln

说明:

"bwwlm " 和 "bwwln" 从末尾开始依次去掉一位得到密码在密码本中都存在。但是 "bwwln" 比 "bwwlm" 字典序排序大,所以应该返回"bwwln"

import java.util.Arrays;
import java.util.List;
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);

        String s = in.nextLine();

        String[] strings = s.split(" ");
        List<String> list = Arrays.asList(strings);
        list.sort((x, y) -> {
            int a = x.length();
            int b = y.length();
            if (a == b) {
                for (int i = 0; i < x.length(); i++) {
                    char m = x.charAt(i);
                    char n = y.charAt(i);
                    if (m > n) {
                        return 1;
                    } else {
                        return -1;
                    }
                }
            }
            return b - a;
        });
        for (String s1 : list) {
            String substring = s1.substring(0, s1.length() - 1);
            if (list.contains(substring)) {
                System.out.println(s1);
                return;
            }
        }
    }
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

华为od 最长密码 的相关文章

随机推荐

  • 黑马程序员Spring视频教程,全面深度讲解spring5底层原理 学习笔记

    介绍 代码仓库地址 https gitee com CandyWall spring source study 跟着黑马满一航老师的spring高级49讲做的学习笔记 本笔记跟视频内容的项目名称和代码略有不同 我将49讲的代码每一讲的代码都
  • (三)获取linux内核的系统信息

    这一章 使用qt来获取linux内核的系统信息并显示到界面上 这里的系统信息包括CPU的使用率 CPU的温度 内存信息以及硬盘信息 CPU温度 NanoPI Fire3的开发团队为系统提供了读取CPU温度的接口 一个设备文件 使用命令查看C
  • Web开发语言简介

    JSP了解的不多EJB JSP开发企业级应用轻量级的有StructAsp net日渐成熟随着Vs2005的发行微软开始大力推行VS开发应用VS2005集成了一整套的应用也达到了微软的一般标准会用鼠标的都能操作数据库制作一个网站 aspVBS
  • 掌上和平精英服务器维护要多久,和平精英身份识别卡时间多久 拾取时间限制介绍...

    和平精英上线队友召回模式之后 相信有大批的玩家涌入新模式 那么大家肯定也都知道识别卡是有时间限制的 如果对手死蹲队友的盒子 我们是很难接近的 快来看看和平精英身份识别卡时间多久吧 队友被筛选之后变成了盒子 在他的盒子里面会有一张身份辨认卡
  • CSS水平垂直居中常见方法总结

    说明 本篇文章只是总结一些方法 例子用到的各个元素属性不做解释 详情请看MDN文档 非常的详尽 例子在chrome浏览器下完全好使 IE这个渣渣 附上链接 https developer mozilla org zh CN 本文出现的错误
  • 中国支付清算体系-CNAPS

    中国的支付清算有两套体系 中国现代化支付清算系统和第三方支付清算系统 当你去ATM取钱时 用的是央行的CNAPS 中国现代化支付清算系统 当你用支付宝买买买时 用的是第三方支付的清算系统 这里先介绍第一部分 CNAPS 1 当你在ATM取钱
  • esxi管理端口_ESXI虚拟机创建LACP动态链路汇聚网络负载均衡教程

    大家好 我是村里的萝卜头 今天给大家分享的是ESXI虚拟机添加LACP动态链路汇聚负载均衡教程 动态LACP汇聚是一种系统自动创建 删除的汇聚 不允许用户增加或删除动态LACP汇聚中的成员端口 只有速率和双工属性相同 连接到同一个设备 有相
  • python2定点找色,Python-找到相似的颜色,最好的方法

    我已经创建了一个函数来查找图像中的颜色 并返回x y 现在我需要添加一个新函数 在这里我可以找到具有给定公差的颜色 应该很容易吗 在图像中查找颜色并返回x y的代码 def FindColorIn r g b xmin xmax ymin
  • oCPC和CPC之间的区别

    oCPC官方给出的概念是 智能出价 注重转化 CPC是指按点击付费的结算方式 广告主给每次点击的价钱 从这两点就可以看出来 oCPC比CPC更加符合企业主需求的转化效果 但其实两者的结算方式是一样的 都是按点击计费 不同的是oCPC的智能化
  • 人工智能——数据挖掘1

    1 概述 从技术角度 数据挖掘 data mining 是从大量的不完全的 有噪南的 模糊的随机的实际应用数据中提取隐含在其中的 人们事先不知道的 但又是潜化有用的信身和知识的过程 与数据挖掘相近的同义词包括数据融合 数据分析和决策持第 预
  • 期货开户无为的趋势跟踪

    一 短线交易 很多知名的短线高手都有逆天的稳定低回撤向右上方倾斜的资金曲线 十分诱人 短线交易也是让人以为最容易实现暴富的交易风格 大部分人都是从短线开始做交易的 因为每次都赚让人有良好的感觉 但实际上短线交易的难度是非常大的 难就难在短线
  • Python生成器

    1 生成器 生成器是一种特殊的迭代器 它是通过函数来实现的 生成器函数每次执行到yield语句时 会返回yield后面的值 并暂停函数的执行 下次调用生成器时 会从上一次暂停的位置继续执行 这种方式可以节省内存 因为不需要一次性生成所有的值
  • 替换手机号中间4位(php,js)

    JS方法 function hideMobile num var mphone num substr 3 4 var lphone num replace mphone return lphone php方法 phone substr re
  • 刷 leetcode 700+ 题的一些感受

    刷题过程 我相信很多人和我一样 刷题步骤是 一 打开 leetcode 二 注册帐号 三 做第一题 两数之和 四 不会 劝退 最后该干嘛干嘛去了 算法此路不通 心理准备 这是一场持久战 这是一场持久战 这是一场持久战 可能你打开leetco
  • micropython api_micropython

    A WASM module built from the official MicroPython port MicroPython js MicroPython transmuted into Javascript WASM by Ems
  • 关于PyCharm编程中报出ImportError: Missing optional dependency ‘openpyxl‘. Use pip or conda to ins错误的解决办法

    关于PyCharm编程中报出ImportError Missing optional dependency openpyxl Use pip or conda to ins错误的解决办法之一 本人遇到的问题在于没有引入相应的包 解决的详细办
  • 如何才算成功?如何才能成功?

    author skate time 2012 08 14 如何才算成功 如何才能成功 个人感悟 清楚自己 熟悉周围环境 精通大势所趋 把握时机 创造机会 审时度势 衡量取舍 平和心态 引文 感悟成功与成功者 http blog sina c
  • 第二十五讲:OSPF路由协议邻居认证配置

    在相同OSPF区域的路由器上启用身份验证的功能 只有经过身份验证的同一区域的路由器才能互相通告路由信息 这样做不但可以增加网络安全性 对OSPF重新配置时 不同口令可以配置在新口令和旧口令的路由器上 防止它们在一个共享的公共广播网络的情况下
  • [Codeforces] combinatorics (R1600) Part.6

    Codeforces combinatorics R1600 Part 6 题单 https codeforces com problemset tags combinatorics 1201 1600 1326C Permutation
  • 华为od 最长密码

    题目描述 小王在进行游戏大闯关 有一个关卡需要输入一个密码才能通过 密码获得的条件如下 在一个密码本中 每一页都有一个由26个小写字母组成的若干位密码 每一页的密码不同 需要从这个密码本中寻找这样一个最长的密码 从它的末尾开始依次去掉一位得