• 360面试题:偶串(Web)


    时间限制:C/C++语言2000MS;其他语言4000MS

    内存限制:C/C++语言65536KB;其他语言589824KB

    题目描述:

      一个字符串S是偶串,当且仅当S中的没有个字符都出现了偶数次。如字符串“aabccb”是一个偶串,因为字符a,b,c都出现了两次。而字符串“abbcc”不是偶串,因为字符a出现了一次。

      现在给出一个长度为n的字符串T=t1,t2,t3,t4,...,tn。字符串的子串为其中任意连续一段。T长度为1的子串有n个,长度为2的子串为n-1个,以此类推,T一共有n(n-1)/2个子串。给定T,你能算出它有多少个子串是偶串吗?

    输入:

      输入一个字符串T,T中只有小写字母。T的长度不超过100000。

    输出:

      子串中偶串的个数。

     1 package com.zdt.com;
     2 
     3 import java.util.Scanner;
     4 
     5 public class main {
     6 
     7     public static void main(String[] args) {
     8         // TODO Auto-generated method stub
     9         Scanner scan = new Scanner(System.in);
    10         String T =scan.next();
    11         int count=0;
    12         for(int i = 2;i<=T.length();i+=2){
    13             for(int j=0;j<T.length()-i+1;j++){
    14                 String test = T.substring(j, j+i);
    15                 if(panding(test)){
    16                     count++;
    17                 }
    18             }
    19         }
    20         System.out.println(count);
    21     }
    22     public static boolean panding(String test){
    23         int a[]= new int[128];
    24         //初始化
    25         for(int i=0; i<128;i++){
    26             a[i]=0;
    27         }
    28         //进行判定,填充判定数组
    29         for(int i=0;i<test.length();i++){
    30             int  num  = Integer.valueOf(test.charAt(i));
    31             if(a[num]==0){
    32                 a[num]+=1;
    33             }
    34             else{
    35                 a[num]-=1;
    36             }
    37         }
    38         //数组求和
    39         int sum=0;
    40         for(int i=0;i<128;i++){
    41             sum+=a[i];
    42         }
    43         //判定
    44         if(sum==0)
    45             return true;
    46         else
    47             return false;
    48     }
    49 }
    Java Code
  • 相关阅读:
    java项目启动报Unsupported major.minor version 51.0错
    eclipse启动报错
    使用ftp加IP上传文件
    Java替换中使用正则表达式实现中间模糊匹配
    使用Tomcat安装版启动项目
    java文件流操作
    mybatis所需pom文件内容以及配置文件
    个人写spark小测试
    spark介绍2
    RDD介绍与执行
  • 原文地址:https://www.cnblogs.com/zdtiio/p/6618505.html
Copyright © 2020-2023  润新知