博客
关于我
2021/04/17 OJ每日一题 1695: 问题H 对称串找最值 python
阅读量:773 次
发布时间:2019-03-22

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

为了解决这个问题,我们需要从给定的字符串中找到对称字符串,并找出它们中ASCII码值最大的那一个。

方法思路

  • 读取输入:首先读取输入数据,获取字符串的数量和每个字符串。
  • 筛选对称字符串:检查每个字符串是否是对称的。如果是,对称字符串就会被收集到一个列表中。
  • 计算最大ASCII码:对于每个对称字符串,计算其中的最大ASCII码值。
  • 找出最大值:比较所有对称字符串的最大ASCII码值,找出最大的那个对应的字符串并输出。
  • 这种方法确保我们能够高效地筛选出对称字符串,并在它们中找到ASCII码值最大的那个字符串。

    解决代码

    n = int(input())symmetric_list = []for _ in range(n):    s = input().strip()    if s == s[::-1]:        current_max = max(ord(c) for c in s)        symmetric_list.append((current_max, s))if not symmetric_list:    print("")else:    max_value = max(t[0] for t in symmetric_list)    for pair in symmetric_list:        if pair[0] == max_value:            print(pair[1])            break

    代码解释

  • 读取输入:首先读取整数n,表示输入的字符串数量。然后读取接下来的n行,分别存储每个字符串。
  • 筛选对称字符串:使用循环检查每个字符串是否对称。检查方法是将字符串反转后与原字符串比较。如果相同,则该字符串是对称的。
  • 计算字符ASCII码:对于每个对称字符串,计算其中每个字符的ASCII码值,并找出最大值。
  • 迭代找出最大值:通过遍历对称字符串列表,找到最大的ASCII码值并输出对应的字符串。如果出现多个相同的最大值,第一个遇到的会被打印,但由于问题要求不详细说明这种情况,通常第一个遇到的即可。
  • 这个方法确保了处理过程的高效性和准确性,能够正确找到满足条件的字符串。

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

    你可能感兴趣的文章
    Spring Boot 动态加载jar包,动态配置太强了!
    查看>>
    Spring @Async执行异步方法的简单使用
    查看>>
    PAT (Basic Level) Practice 乙级1021-1030
    查看>>
    PAT (Basic Level) Practice 乙级1031-1040
    查看>>
    PAT (Basic Level) Practice 乙级1041-1045
    查看>>
    SparkSql的元数据
    查看>>
    PAT (Basic Level) Practice 乙级1051-1055
    查看>>
    PAT (Basic Level) Practise - 写出这个数
    查看>>
    PAT 1027 Colors in Mars
    查看>>
    PAT 1127 ZigZagging on a Tree[难]
    查看>>
    PAT 2-07. 素因子分解(20)
    查看>>
    PAT A1033 重点题
    查看>>
    SparkSQL学习03-数据读取与存储
    查看>>
    PAT L2-012. 关于堆的判断
    查看>>
    PAT Spell It Right [非常简单]
    查看>>
    PAT-1044. Shopping in Mars (25)
    查看>>
    PAT-乙级-1040 有几个PAT
    查看>>
    Spring组件扫描配置
    查看>>
    PAT1093 Count PAT's (25)(逻辑题)
    查看>>
    PATA1038题解(需复习)
    查看>>