溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

java如何找出字符串中的第一個唯一字符

發(fā)布時間:2022-01-17 14:46:25 來源:億速云 閱讀:127 作者:清風(fēng) 欄目:大數(shù)據(jù)

這篇“java如何找出字符串中的第一個唯一字符”除了程序員外大部分人都不太理解,今天小編為了讓大家更加理解“java如何找出字符串中的第一個唯一字符”,給大家總結(jié)了以下內(nèi)容,具有一定借鑒價值,內(nèi)容詳細(xì)步驟清晰,細(xì)節(jié)處理妥當(dāng),希望大家通過這篇文章有所收獲,下面讓我們一起來看看具體內(nèi)容吧。

給定一個字符串,找到它的第一個不重復(fù)的字符,并返回它的索引。如果不存在,則返回 -1。

案例:

s = "leetcode"
返回 0.

s = "loveleetcode",
返回 2.

注意事項:您可以假定該字符串只包含小寫字母。

贖金信

 1public boolean canConstruct(String ransomNote, String magazine) {
2    int[] arr = new int[26];
3    for (int i = 0; i < magazine.length(); i++) {
4        arr[magazine.charAt(i) - 'a']++;
5    }
6    for (int i = 0; i < ransomNote.length(); i++) {
7        if (--arr[ransomNote.charAt(i) - 'a'] < 0) {
8            return false;
9        }
10    }
11    return true;
12}

解析:

代碼很容易理解,再來看另一種解法

 1public boolean canConstruct(String ransomNote, String magazine) {
2    Map<Character, Integer> magM = new HashMap<>();
3    for (char c : magazine.toCharArray()) {
4        magM.put(c, magM.getOrDefault(c, 0) + 1);
5    }
6    for (char c : ransomNote.toCharArray()) {
7        int newCount = magM.getOrDefault(c, 0) - 1;
8        if (newCount < 0)
9            return false;
10        magM.put(c, newCount);
11    }
12    return true;
13}

Java有哪些集合類

Java中的集合主要分為四類:1、List列表:有序的,可重復(fù)的;2、Queue隊列:有序,可重復(fù)的;3、Set集合:不可重復(fù);4、Map映射:無序,鍵唯一,值不唯一。

感謝您的閱讀,希望您對“java如何找出字符串中的第一個唯一字符”這一關(guān)鍵問題有了一定的理解,具體使用情況還需要大家自己動手實驗使用過才能領(lǐng)會,快去試試吧,如果想閱讀更多相關(guān)知識點的文章,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI