文档章节

字符串的最大重复数

小强斋太
 小强斋太
发布于 2016/11/09 20:06
字数 310
阅读 0
收藏 0

题目:编写递归算法求最大重复数,比如"aaabbcc"的最大重复数为3,"aab"最大重复数为2

import junit.framework.TestCase;

public class RepeatTimes1 extends TestCase {

	// 判断一个字符在某个字符串中出现的次数
	public int existsTimes(String str, char c) {
		int count = 0;
		for (int i = 0; i < str.length(); i++) {
			if (str.charAt(i) == c)
				count++;
		}
		return count;
	}

	// 递归 求字符串中最大的重复数
	public int repeatTimes(String str) {
		if (str== null||"".equals(str)) return 0;
		if (str.length() == 1)
			return 1; // 字符串长度为1时,最大重复数肯定为1
		else {
			int time1 = repeatTimes(str.substring(1));// 子串的重复数
			int time2 = existsTimes(str.substring(1), str.charAt(0));// 字符串首字母在子串出现的次数

			if (time2 < time1) // 字符串首字母在子串出现的次数小于子串的重复数
				return time1;
			else
				return time2 + 1; // 字符串首字母在子串出现的次数大于子串的重复数

		}
	}
	
	public void test() {
		System.out.println(repeatTimes("1232"));
	}

}

非递归方法

//非递归方法
 public int repeatTimes(String str) {
  if (str== null||"".equals(str)) return 0;
  if (str.length() == 1)
   return 1; // 字符串长度为1时,最大重复数肯定为1
  int c[] =new int[256];
  for (int i = 0; i < str.length(); i++) {
   c[str.charAt(i)]++;
  }
  
  int max=c[0];
  for (int i = 0; i < c.length; i++) {
   if(c[i]>c[0]) max=c[i];
  }
  return max;
 }



 

 

本文转载自:http://www.cnblogs.com/xqzt/archive/2012/10/25/5637154.html

共有 人打赏支持
小强斋太
粉丝 0
博文 181
码字总数 0
作品 0
广州
私信 提问
python2初识

此为python2刚开始学习的笔记,比较杂乱 python的安装 python 标志符 以单下划线开头 foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入; 以双...

wy125629
2017/10/25
0
0
Python变量类型

变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。 因此,变量可以指定不同的数据类型...

三极行者
2017/04/16
0
0
005-Python 变量类型

Python 变量类型 变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。因此,变量可以指定...

运维小当家
06/29
0
0
python3测试工具开发快速入门教程2数据结构1变量与赋值

语法基础 解释器像简单的计算器:可以输入表达式,它会返回值。表达式语法很简单:运算符 + , - , * 和 / 与其它语言一样(例如Pascal或C);括号用于分组。例如: 整数(例如2、4、20 )的类型...

人工智能python自动化测试
08/30
0
0
内建函数.数学运算类

abs(x) 返回值: 数值对象 常用于: 对整数/长整数/浮点数/负数求绝对值.复数的绝对值返回它的模 # -- coding: utf-8 --""" Authors: limanman OsChina: http://my.oschina.net/pydevops/ Purp...

满满李
2016/02/21
23
0

没有更多内容

加载失败,请刷新页面

加载更多

读取zookeeper上的dubbo注册信息

dubbo有自己的服务监听服务器,incubator-dubbo-ops-develop,github可以下载到,网上也有很多本地部署的例子,就想了下能不能自己监听dubbo的服务,于是写了如下代码。特别注意的是zookeep...

noob_chr
13分钟前
0
0
Java提高班(六)反射和动态代理(JDK Proxy和Cglib)

反射和动态代理放有一定的相关性,但单纯的说动态代理是由反射机制实现的,其实是不够全面不准确的,动态代理是一种功能行为,而它的实现方法有很多。要怎么理解以上这句话,请看下文。 一、...

王磊的博客
33分钟前
1
0
Ext grid 渲染

// 单元格字体颜色渲染function renderer_Meta_useStatus(value, cellmeta, record,rowIndex, columnIndex, store){ var color = ""; if("空闲"==value){ color = "green";......

MoksMo
42分钟前
4
0
log4j2在spring中的配置

<?xml version="1.0" encoding="UTF-8"?><!--日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL --><!--Configuration后面的status,这个用于设置l......

TonyTaotao
48分钟前
3
0
java 中间变量缓存机制(i++,++i)

public class Test { public static void main(String[] args) { int i = 0; i = i ++ ; System.out.println(i); } } 答案是 0 如果是 i = ++......

shzwork
55分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部