编程介的小学生 2019-09-02 17:22 采纳率: 20.5%
浏览 220

查找最大元素 不会回答的不要乱回答

Problem Description
对于输入的每个字符串,查找其中的最大字母,在该字母后面插入字符串“(max)”。

Input
输入数据包括多个测试实例,每个实例由一行长度不超过100的字符串组成,字符串仅由大小写字母构成。

Output
对于每个测试实例输出一行字符串,输出的结果是插入字符串“(max)”后的结果,如果存在多个最大的字母,就在每一个最大字母后面都插入"(max)"。

Sample Input
abcdefgfedcba
xxxxx

Sample Output
abcdefg(max)fedcba
x(max)x(max)x(max)x(max)x(max)

  • 写回答

1条回答 默认 最新

  • 珠穆朗玛小王子 博客专家认证 2019-09-03 10:50
    关注

    提出这个问题的是大学生吗,想起以前老师总爱留这样的作业......

    完成这个题目其实主要只考了一个问题:
    如何比较两个字母的大小?
    即char的比较,比如说 'a' >'b', 结果是false,在char比较大小的时候,会把char自动转换为整数int,如果是char和int比较,也是先把char转换为int,也就是自动强转。
    (具体的char和int的对应值,可以自己试着打印看看)。

    在java中的英文字母从小到大的顺序是:从a到z,从A到Z。这道题就变成了找到最大数字。

     @Test
        fun findMaxTest(){
            val str1 = "abcdefgfedcba"
            val str2 = "xxxxx"
    
            findMax(str1)
            findMax(str2)
    
        }
    
        private fun findMax(str: String){
            var maxLetter = 'a'
            for (i in str.indices){
                if (str[i] > maxLetter){
                    maxLetter = str[i]
                }
            }
    
            // 拼接(max)
            val stringBuilder = StringBuilder()
            for (i in str.indices){
                stringBuilder.append(str[i])
                if (str[i] == maxLetter){
                    stringBuilder.append("(max)")
                }
            }
            println(stringBuilder.toString())
    
        }
    

    图片说明

    我这是用kotlin写的,可惜我不太懂Go,但是我估计大体的思路都是一样的。

    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog