`

快速查找字符串中首个重复字母算法

 
阅读更多

找出字符串中出现的首个重复字母

例“abncdbmn”,首个重复字母为b

/**
 * 
 */
package com.tao.bao;

import java.util.HashMap;

/**
 * @author moon
 *
 */
public class StringFindSame {

	/**
	 * @param args,
	 */
         //类似冒泡排序,一个一个查询
        public void findSameChar(char[] str){
		int length = str.length;
		for(int i = 0;i<length;i++)
			for(int j=i+1;j<length;j++)
			{
				if(str[i]==str[j]){
					System.out.println("-----"+str[i]);
					break;
				}
			}
	}
	//利用java特性,map中key值不可以重复
	public void findSameMap(char[] str){
		HashMap<Character, Integer> map = new HashMap<Character, Integer>();
		for(int i=0;i<str.length;i++){
			if(map.containsKey(str[i])){
				System.out.println("-----"+str[i]);
				break;
			}else
			{
				map.put(Character.valueOf(str[i]), Integer.valueOf(1));
			}
		}
	}
	
	public static void main(String[] args) {
		String str="adcbd";
		char findStr[] = str.toCharArray();
		
		StringFindSame same = new StringFindSame();
		//same.findSameChar(findStr);
		same.findSameMap(findStr);
	}

}
分享到:
评论

相关推荐

    蓝桥杯(Python)相关知识点记录,包含基础知识点,数据结构等算法实现,真题练习

    蓝桥杯Python相关的知识点记录包括基础知识点、数据结构等算法实现以及真题练习项目说明。以下是对这些内容的简要概述: 一、基础知识点 ...排序与查找:如冒泡排序、快速排序、二分查找等算法的实现和应用。

    linux_c API函数大全

    rindex(查找字符串中最后一个出现的指定字符) 40 5.12 41 strcasecmp(忽略大小写比较字符串) 41 5.13 41 strcat(连接两字符串) 41 5.14 42 strchr(查找字符串中第一个出现的指定字符) 42 5.15 42 strcmp...

    monkey-moore:基于Boyer-Moore字符串搜索算法的相对搜索器工具

    核心算法基于Boyer-Moore字符串搜索算法,并基于此算法在大型文件上执行快速搜索,支持多种选项,从而进一步提高了查找所需内容的机会。 概述 相对搜索是一种用于查找常规方法无法找到的数据的方法。 不同之处在于...

    delphi 开发经验技巧宝典源码

    0159 如何将字符串首字母大写 104 5.3 字符串的相关判断 105 0160 判断某一字符是否在字符串中 105 0161 判断字符串是由数字、大写字母或小写字母组成 105 0162 判断字符串中的某一字符是否大写 106 0163...

    delphi 开发经验技巧宝典源码06

    0159 如何将字符串首字母大写 104 5.3 字符串的相关判断 105 0160 判断某一字符是否在字符串中 105 0161 判断字符串是由数字、大写字母或小写字母组成 105 0162 判断字符串中的某一字符是否大写 106 0163...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    varchar2 1~4000字节 可变长度字符串,与CHAR类型相比,使用VARCHAR2可以节省磁盘空间,但查询效率没有char类型高 数值类型 Number(m,n) m(1~38) n(-84~127) 可以存储正数、负数、零、定点数和精度为38位的浮点数...

    C#编程经验技巧宝典

    72 &lt;br&gt;0102 将字符串首字母转换大写 72 &lt;br&gt;0103 如何进行字节数组和字符串的相互转换 72 &lt;br&gt;0104 如何把一个按空格分割的字符串存储在一个ArrayList数组中 73 &lt;br&gt;4.2 获取字符串信息 73 ...

    C#开发实例大全(基础卷).软件开发技术联盟(带详细书签) PDF 下载

    实例115 使用面向对象思想查找字符串中的 所有数字 140 5.3 面向对象技术高级应用 141 实例116 自定义抽象类计算圆形的面积 141 实例117 利用接口实现选择不同的语言 143 实例118 使用密封类密封用户信息 145 实例...

    algorithm-study

    算法学习笔记 天01 算法时间复杂度分析 算法数据规模概念 天02 二分查找O(登录) 实现矢量 leetcode283移动0至每秒末尾 leetcode27删除分配指定值 leetcode26有序段落去重 ...leetcode438找到字符串中所有的字母异位词

    C程序范例宝典(基础代码详解)

    实例038 不用strcat连接两个字符串 46 实例039 删除字符串中连续字符 47 实例040 字符升序排列 49 实例041 在指定的位置后插入字符串 50 1.7 函数 51 实例042 求字符串中字符的个数 51 实例043 递归...

    WinRAR_4.0.exe

    在压缩文件中查找字符串。 支持下列可选参数: i - 不区分大小写(默认); c - 区分大小写搜索; h - 十六进制搜索; t - 使用 ANSI, Unicode 和 OEM 字符表 (只有 Win32 可用); 如果没有指定任何参数,它...

    快速搜索大型DNS数据集-Golang开发

    DNSGrep一个实用程序,用于快速搜索预...该算法非常简单:使用二进制搜索算法搜索文件,查找与查询匹配的子字符串。 找到匹配项后,将以10KB的增量向后扫描文件,以查找不匹配的子字符串。 找到不匹配的子字符串后,

    数据结构(C++)有关练习题

    &lt;br&gt;实验四 综合(课程设计) 内容及步骤: 1、假定一维数组a[n]中的每个元素值均在[0,200]区间内,用C++编写一个算法,分别统计出落在[0,20],[21,50],[51,80],[81,130],[131,200]等各区间内的元素...

    c语言经典案例

    实例097 计算字符串中有多少个单词 126 实例098 不使用strcpy()函数实现 字符串复制功能 127 实例099 逆序存放数据 129 实例100 相邻元素之和 130 实例101 选票统计 131 实例102 使用数组统计学生成绩 132 实例103 ...

Global site tag (gtag.js) - Google Analytics