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

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)

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

完成这个题目其实主要只考了一个问题:
如何比较两个字母的大小?
即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,但是我估计大体的思路都是一样的。