算法习题2020.1.31

Posted small-windmill

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法习题2020.1.31相关的知识,希望对你有一定的参考价值。

得分

给出一个由o和x组成的串(长度为1~80),统计得分.每个o的得分为目前连续出现o的个数,x的得分为0

例如:
ooxxoxxooo的得分为1+2+0+0+1+0+0+1+2+3

 

输入样例1:

ooooooxxx

输出结果:21

 

输入样例2:
ooooooo

输出结果:28

输入样例3:
xxxxxxx

输出结果:0

 

import java.util.Scanner;
import java.util.StringTokenizer;
public class Main {
    public static void main(String[] args) {
            Scanner in = new Scanner(System.in);
            String regex = "x|X+";//正则表达式  x|X+:字母x大小写出现至少一次
            String s = in.next();
            StringTokenizer str = new StringTokenizer(s,regex);//为String对象s构造一个分析器。参数regex被作为分隔标记
            int sum=0;
            while(str.hasMoreTokens()) {
                s = str.nextToken();//获取分析器中分隔出的字符串
                int len = s.length();
                sum += len*(len+1)*0.5;
            }
        System.out.print(sum);    
    }
}

 

以上是关于算法习题2020.1.31的主要内容,如果未能解决你的问题,请参考以下文章

各种排序算法整理(附带习题及代码)

以下代码片段的算法复杂度

算法1.1课后问答及习题

有人可以解释啥是 SVN 平分算法吗?理论上和通过代码片段[重复]

片段(Java) | 机试题+算法思路+考点+代码解析 2023

算法零基础学习关于二维数组的一些基础练习题 | leetcode1672158283248题解