1. 程式人生 > >java小演算法—查詢字串中第一次沒有重複的字元

java小演算法—查詢字串中第一次沒有重複的字元

將一串字串中第一次沒有重複出現的字元找出

程式碼

public class Test {

	public static void main(String[] args) {

		String str = "1122333444dddffffsssadc";
		Test test = new Test();
		int p = test.Method(str);
		String result = str.charAt(p) + "";
		System.out.println(result);

	}

	/**
	 * 方法
	 * */

	public int Method(String str) {
		int position = -1;
		int len = str.length();
		for (int i = 0; i < len; i++) {
			char c1 = str.charAt(i);
			if ((str.indexOf(c1)) == (str.lastIndexOf(c1))) {// 第一次和最後一次位置相同
				position = i;// 找到
				break;
			}
		}

		return position;

	}

}

結果

思路

for迴圈取出每個位置上的字元。

利用String.indexOf(字元) 方法 第一次出現的位置。

再利用String.lastIndexOf(字元) 方法 最後一次出現的位置。

兩個位置相同 既是要找的字元。

相關推薦

java演算法查詢字串第一沒有重複字元

將一串字串中第一次沒有重複出現的字元找出 程式碼 public class Test { public static void main(String[] args) { String

查詢字串第一個不重複字元

題目要求: 找到字串中第一個不重複的字元,並按原字元顯示,要求可以區分大小寫,預設不區分,true 表示區分, false表示不區分大小寫 示例:輸入Abcad,輸出b; 輸入Abcad true ,輸出A; 輸入Abcad false, 輸出 b

python實現找出一個字串第一重複出現的字元

例:輸入:yellow       輸出:y      輸入:tooth      輸出:h思想:使用字典進行遍歷:def find_str(arr): dic={} for i in range(len(arr)): if arr[i] in

C語言面試題:查詢字串第一個不重複字元

char findChar(char *s) { char *p,*q; p=q=s; while(*s != '\0') { while(*p++ != '\0')

給定一字串,求字串第一出現的非重複字元,例如abaaedgff,輸出b.(Java 實現)

//方法1: public class GetFirstNotRepeatChar { public static char getChar(String s){ char[] c = s.toCharArray(); int[][] tmp = new int[

查詢字串第一個只出現一字元

考研的時候學習過雜湊函式,但這只是書本上的知識,簡單的理解,從來沒用過,也不知道怎麼用,直到學了第一堂演算法課,原來hash表可以用陣列模擬,統計數字或字元出現的次數。 程式碼如下: int CHash::getStuNum(int* data, int len, in

如何找出字串第一個不重複字元Java和Python的分別實現

遇到一個問題,網上有很多教程,在沒看的情況下,自己先寫了幾種方法,僅供參考: Python實現方式:(三種方法,執行效率有差異) # _*_ coding:utf-8 _*_ import time # 傳參方式 str = "=WUKVJPLKKPYBUI=JAOCFCJJIYKGN

如何找出一個字串第一且只出現一字元

     要找出一個字串中出現的字元,自然而然我們就會想到在ASCⅡ碼中共有256種字元,通過遍歷可以找出每種字元存在的個數,這就用到了ASCⅡ碼字元與編碼中的一一對映的關係。那麼就還需要知道字串的長

Java筆試題】輸出字串第一個不重複字元

1、題目 在一個字串中找到第一個只出現一次的字元。例如,輸入“abaccdeff”,則輸出b。 2、Java程式碼 public class RetStr { public static

找到字串第一個不重複的元素

題目:在一個字串中找到第一個沒有重複元素的字元並返回。 例:輸入:"yellow"      返回:“y”   輸入:"tooth"   返回:“h”   輸入:“coco”   返回:“” 按照人類思維來判斷的話,比較該元素與後面的元素,如果相同,再比較

找出給定字串第一個不重複字元

給定一串字串,找出其中第一個不重複的字元。 如:輸入”abcddcaeb1~soop”,輸出’e’ 方法一 思路: 定義list<char> store和list<char> storeDel,對輸入字串str進行遍歷,對st

Java 自定義提取字串的某一段字元

                                 自定義String過濾 舉例 : String s = "dsadsada<@#[email protected]#$>啦啦啦123123<&*&*&

找出字串第一個不重複的字母

昨天看到一個面試題,說是要在一個字串中找到第一個不重複的字元。 初始思路如下: 掃描一遍字串,生成一個連結串列,越早出現的字元越靠近連結串列頭,最後出現的在連結串列尾。每次從字串中掃描到一個字元後,在連結串列中搜索,找到則其計數加一,否則加入到連結串列尾。最後遍歷這個連結串

查詢字串出現一第一出現的字元

原理:利用雜湊表的演算法進行查詢,建立一個能儲存256個數的陣列,第一次對出現的字元進行統計,第二次查找出現一次的字元並返回. #include<stdio.h> #include<

【每日一題】查詢一個字串第一個只出現兩字元

題目:查詢一個字串中第一個只出現兩次的字元。比如:“abcdefabcdefabc”中第一個只出現兩次為‘d’,要求時間複雜度為O(N),空間複雜度為O(1) 解決方法:可以使用雜湊表統計每個字元出現的次數。因為字元只有256種可能,所以我們可以申請一個25

Java:在一個字串找到第一個只出現一字元。如輸入abaccdeff,則輸出b。

在一個字串中找到第一個只出現一次的字元。如輸入abaccdeff,則輸出b。 package com.jredu.ch12; /** * 題目:在一個字串中找到第一個只出現一次的字元。如輸入abaccdeff,則輸出b。 * @author Administrator

Java如何計數替換字符串第一出現的子字符串?

aci 代碼示例 compile pac instr span int com pla 在Java編程中,如何拆分正則表達式和字符串? 以下示例演示如何使用Matcher類的replaceFirst()方法替換字符中指定的子字符串的首次出現。 package com.yii

C++ Leetcode初級演算法字串第一個唯一字元

給定一個字串,找到它的第一個不重複的字元,並返回它的索引。如果不存在,則返回 -1。 案例: s = “leetcode” 返回 0. s = “loveleetcode”, 返回 2. 注意事項:您可以假定該字串只包含小寫字母。 class Solution { pub

劍指Offer-50 字串第一個只出現一字元

題目: 在字串中找出第一個只出現一次的字元。如輸入"abaccdeff",則輸出b。如果字串中不存在只出現一次的字元,返回#字元。 解答: class Solution: def firstNotRepeatingChar(self, s): """

查詢字串指定字元第一個下標_程式碼的優雅寫法

刷 leetCode 有一個題目需要實現 String.indexOf() 的原始碼,好奇之下在 Intellij IDEA 中查看了它的源代,意外地發現原始碼中關於在字串中查詢指定字元的下標的優雅程式碼(至少比我寫的優雅),於是乎我打算開個貼記錄一下。 S