笔试(招行信用卡)镜像回文字符串

招商银行信用卡IT类测试方向4.9场笔试编程题第一题
招商信用卡的技术笔试总共分为两部分,必答题和选答题。必答题100分。
必答题:包括14道选择每道4分,两道编程题共44分。
选答题:分为选择和问答题,每道题都是一分,题目都是分方向的,分为开发、测试、算法、运维、安全、大数据几个方向。

1.题目

1.给定一个字符串x,小招喵需要判断这个字符串是不是镜像回文字符串?如果一个字符串x与它的倒置字符串y的每一位都是镜像对应,那么这个字符串就是镜像回文字符串。
镜像对应如下所示:
1——1
2——5
3——8
4——7
6——9
小招喵很迷茫,所以他现在要求助你帮他完成这个游戏。
输入描述:
第一行一个数字T表示测试数据组数。
接下来T行每一行有一个字符串S.
保证S只包含字符‘1’-‘9’
输出描述:
对于每组数据,输出一行“YES”或“NO”表示答案。
如果是镜像对称字符串则输出“YES”

示例1:

输入:
3
69
6996
1111
输出:
YES
NO
YES

2.思路如下:
利用字典建立数字对应关系,反转字符串,原字符串和反转字符串对应位置的字符是否满足字典中的映射关系
3.代码如下:

# 招商信用卡第一题
#
import sys

n = int(input())
# 建立一个数字呈现一一映射关系的字典
dic = {'1': '1', '2': '5', '3': '8', '4': '7', '5': '2', '6': '9', '7': '4', '8': '3', '9': '6'}

for i in range(n):
    x = sys.stdin.readline().strip()
    m = len(x)
    res = 0
    # 反转字符串  这可是宝藏语句  必须刻在脑子里
    y = x[::-1]
    for j in range(m):
        if x[j] in dic and dic[x[j]] == y[j]:
            res += 1
    # 满足对应关系的数字个数为res
    if res == m:
        print('YES')
    else:
        print('NO')

ps:人生第一次技术岗笔试,超级紧张看到页面都十分惶恐,对OJ的使用一无所知,没关系,一回生,二回熟,不过就是不断的尝试来积累经验同时推动自己不断成长吧,(突然鸡汤)写博客的目的除了做笔记之外,如果有觉得自己很菜的人看到我的博客,就会发现还有太多比他菜的人,估计会受到鼓励hhhhhhh 好久没写博客似乎改版了新的界面倒是清新不少不过有点不适应

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值