博客
关于我
1014 福尔摩斯的约会
阅读量:734 次
发布时间:2019-03-21

本文共 906 字,大约阅读时间需要 3 分钟。

福尔摩斯接到了一张奇怪的字条,字条上包含了约会的时间。经过仔细分析,字条上的乱码实际上隐藏着约会的具体时间和日期。下面是福尔摩斯解码过程:

首先,字条上的乱码由两对字符串组成。每个字符串的长度相同且不超过60个字符。福尔摩斯需要通过这些字符串的对应位置找到隐藏的信息。

  • 确定星期几:字条指出,矩阵中的某两字符串的某一对相同的大写字母D代表的是星期四(第4个字母)。

  • 确定时间部分:同样地,另一两字符串中的某一对相同的字符发现代表了时间。其中,第一个对的字符位置在分钟的位置显示为4分钟(对应字符s),而第二个对则在小时部分显示为14点。

  • 如何将这些信息转化成具体的时间呢?让我详细分析如下:

    • 首先,遍历每一对字符串,找到第一对相同的、位于对应位置的大写字母D,这绝对会对应星期四。

    • 其次,找到第二对相同的字符,这个字符E位于字母表中的第5位,对应分钟数。要注意,如果字符超出字母表范围,则需转换成相应的分数时间。

    • 最后,从两个字符串中找出位置相同的字符,先从d开始,这可能影响到更准确的时间计算。

    然而,这是否足够?假设每个字符串足够长,我可以按顺序检查每个可能的字符对,直到找到正确的配对。

    接下来,确保找到正确的字符对,例如数字或字母时,需要特别注意它们的对应位置和取值范围。这需要详细列出每个字符及其位置。

    根据这些线索,福尔摩斯得以确定约会的时间为星期四14:04。

    通过编程处理这些字符串是相当直接的,只需在两个字符串之间寻找对应的字符对,并与给定的解码规则结合。

    以下是我的编程逻辑思路:

  • 定义一个星期数组,数组索引为0到6分别对应星期一至星期日。

  • 读取四个字符串,分别用s1、s2、s3、s4表示。

  • 对于每个字符位置i,检查s1[i]和s2[i]是否相同且为大写字母D(即ASCII码大于等于A且小于等于G)。

  • 一旦找到对应的字符,就输出对应的星期几。

  • 对于小时和分钟部分,检查每个字符的位置i是否是一个数字或字母:如果是数字,转换为对应的数值;如果是字母,则如字母A+N对应数字10以上。

  • 很快就能解码出正确的日期和时间。

  • 通过以上步骤,福尔摩斯成功解码出了约会的时间。

    答案:THU 14:04

    转载地址:http://bthgz.baihongyu.com/

    你可能感兴趣的文章
    mysql 权限登录问题:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
    查看>>
    MYSQL 查看最大连接数和修改最大连接数
    查看>>
    MySQL 查看有哪些表
    查看>>
    mysql 查看锁_阿里/美团/字节面试官必问的Mysql锁机制,你真的明白吗
    查看>>
    MySql 查询以逗号分隔的字符串的方法(正则)
    查看>>
    MySQL 查询优化:提速查询效率的13大秘籍(避免使用SELECT 、分页查询的优化、合理使用连接、子查询的优化)(上)
    查看>>
    mysql 查询数据库所有表的字段信息
    查看>>
    【Java基础】什么是面向对象?
    查看>>
    mysql 查询,正数降序排序,负数升序排序
    查看>>
    MySQL 树形结构 根据指定节点 获取其下属的所有子节点(包含路径上的枝干节点和叶子节点)...
    查看>>
    mysql 死锁 Deadlock found when trying to get lock; try restarting transaction
    查看>>
    mysql 死锁(先delete 后insert)日志分析
    查看>>
    MySQL 死锁了,怎么办?
    查看>>
    MySQL 深度分页性能急剧下降,该如何优化?
    查看>>
    MySQL 深度分页性能急剧下降,该如何优化?
    查看>>
    MySQL 添加列,修改列,删除列
    查看>>
    mysql 添加索引
    查看>>
    MySQL 添加索引,删除索引及其用法
    查看>>
    mysql 状态检查,备份,修复
    查看>>
    MySQL 用 limit 为什么会影响性能?
    查看>>