zoukankan      html  css  js  c++  java
  • ECNU 2820 围栏

    ECNU 2820 围栏

    链接

    https://acm.ecnu.edu.cn/problem/2820

    题目

    单点时限: 2.0 sec

    内存限制: 256 MB

    一串连续字符被称作围栏当且仅当它由间隔的 | 和 - 组成。比如 |-|-|-| 或 -|-|。注意 |-||-| 或者 -- 不是围栏,因为每个都包含了两个或两个以上的相同连续字符。给你一个字符串,请找出它的最长的一个可以称作围栏的子串长度。

    输入格式
    一个长度为 n 的字符串 , 只包含 |、- 字符。

    输出格式
    在一行中输出最长的围栏长度值。

    样例
    input
    |||-||--|--|---|-||-|-|-|--||---||-||-||-|--||
    output
    8
    提示
    单独的一个|或- 字符算作长度为 1 的围栏。

    思路

    只需要遍历即可,从头到尾,若这一个和上一个不同,就在当前长度上+1,若相同,就重置长度为1,最后用max记录途中的最大值。

    代码

    public static void fun() {
        Scanner sc = new Scanner(System.in);
    
        String line = sc.next();
        StringBuffer sb = new StringBuffer(line);
        int len = sb.length();
        int n = 1;
        int max = 1;
        char tmp = sb.charAt(0);
        for (int i = 1; i < len; i++) {
          if (sb.charAt(i) != tmp) {
            n++;
            if (n > max) {
              max = n;
            }
          } else {
            n = 1;
          }
          tmp = sb.charAt(i);
        }
        if (len == 0) {
          max = 0;
        }
        System.out.print(max);
      }
    
  • 相关阅读:
    pandas
    CTC Loss原理
    CTC 的工作原理
    Demystifying JavaScript Closures, Callbacks and IIFEs
    Css compatibility
    Flexbox——快速布局神器
    centos wordpress
    Encog
    D3js
    Lucene学习
  • 原文地址:https://www.cnblogs.com/blogxjc/p/14382780.html
Copyright © 2011-2022 走看看