一个由小写字母组成的字符串可以看成一些同一字母的最大碎片组成的。例如,"aaabbaaac"是由下面碎片组成的:'aaa','bb','c'。牛牛现在给定一个字符串,请你帮助计算这个字符串 的所有碎片的平均长度是多少。
如样例所示: s = "aaabbaaac"
所有碎片的平均长度 = (3 + 2 + 3 + 1) / 4 = 2.25
题目分析,分子其实是骗人的,总和无非就是总长,分母是分片个数,两个分片之间内容不同则加一,DecimalFormat保留几位小数
import java.text.DecimalFormat; import java.util.Scanner; public class Niu2{ public static void main(String [] args) { Scanner sc = new Scanner(System.in); String str = sc.nextLine(); float n=1; for(int i=1;i<str.length();i++){ if(str.charAt(i)!=str.charAt(i-1)){ n++; } } DecimalFormat df=new DecimalFormat("0.00"); System.out.println(df.format(str.length()/n)); } }
aabbccccdd
2.50