编程介的小学生 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 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 matlab求解平差
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办