今天面试蚂蚁金服大数据开发岗位,一面的代码题,感觉有意思,就记录一下,欢迎各位大佬指正!!!
输入:aaabbca,输出:3a2b1c1a输入:aaabbca,输出:3a2b1c1a


注意:相同字母分隔开,需要重新计数,这是一个小难点哦!!!

package com.lqs;


/**
 * @author lqs
 * @version 1.0.0
 * @date 2023年05月14日 20:26:28
 * @packageName com.lqs
 * @className MyTest
 * @describe TODO
 */
public class MyTest {

    /**
     * 输入:aaabbca
     * 输出:3a2b1c1a
     *
     * @param args
     */
    public static void main(String[] args) {
        String str = "aaabbca";
        System.out.println(strSum(str));
    }

    public static String strSum(String str) {

        int sum = 1;
        String rus = "";

        for (int i = 1; i < str.length(); i++) {

            if (str.charAt(i - 1) == str.charAt(i)) {
                sum++;
            } else {
                rus = rus + sum + str.charAt(i - 1);
                sum = 1;
            }

        }

        return rus + sum + str.charAt(str.length() - 1);

    }

}

运行结果如下:
在这里插入图片描述

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐