博客
关于我
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/

    你可能感兴趣的文章
    poj 1286 Necklace of Beads
    查看>>
    POJ 1321 棋盘问题
    查看>>
    poj 1321(回溯)
    查看>>
    Qt高级——Qt元对象系统源码解析
    查看>>
    qt调用vs2008编写的dll动态库(隐式调用)
    查看>>
    Qt读取注册表默认值
    查看>>
    poj 1679 判断MST是不是唯一的 (次小生成树)
    查看>>
    POJ 1703 Find them, Catch them
    查看>>
    POJ 1703 Find them, Catch them 并查集
    查看>>
    POJ 1738 An old Stone Game(石子合并)
    查看>>
    POJ 1740 A New Stone Game(博弈)题解
    查看>>
    Qt网络编程之实例二POST方式
    查看>>
    POJ 1765 November Rain
    查看>>
    poj 1860 Currency Exchange
    查看>>
    POJ 1961 Period
    查看>>
    POJ 2019 Cornfields (二维RMQ)
    查看>>
    poj 2057 The Lost House 贪心思想在动态规划上的应用
    查看>>
    poj 2057 树形DP,数学期望
    查看>>
    poj 2112 最优挤奶方案
    查看>>
    Qt编写自定义控件12-进度仪表盘
    查看>>