日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

java实现对英文字母去重_LeetCode算法题-Unique Morse Code Words(Java实现)

發(fā)布時間:2024/10/8 java 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java实现对英文字母去重_LeetCode算法题-Unique Morse Code Words(Java实现) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

這是悅樂書的第318次更新,第339篇原創(chuàng)

01 看題和準備

今天介紹的是LeetCode算法題中Easy級別的第186題(順位題號是804)。國際莫爾斯電碼定義了一種標準編碼,其中每個字母映射到一系列點和短劃線,如下所示:“a”映射到“.-”,“b”映射到“-...”,“c”映射到“-.-.“, 等等。

為方便起見,下面給出了英文字母26個字母的完整表格:

[".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."]

現(xiàn)在,給定一個單詞數(shù)組,每個單詞可以寫成每個字母的摩爾斯代碼的串聯(lián)。例如,“cba”可以寫成“-.-..--...”,(這是串聯(lián)"-.-." + "-..." + ".-")。我們稱之為串聯(lián),即一個詞的轉(zhuǎn)換。返回我們所有單詞中不同變換的數(shù)量。例如:

輸入: words = ["gin", "zen", "gig", "msg"]

輸出: 2

說明: 每個單詞的轉(zhuǎn)換是:

"gin" -> "--...-."

"zen" -> "--...-."

"gig" -> "--...--."

"msg" -> "--...--."

有兩種不同的轉(zhuǎn)換, "--...-." and "--...--."。

注意:

數(shù)組的長度最多為100。

每個單詞的長度范圍為[1,12]。

單詞只包含小寫字母。

本次解題使用的開發(fā)工具是eclipse,jdk使用的版本是1.8,環(huán)境是win7 64位系統(tǒng),使用Java語言編寫和測試。

02 解題

題目的意思很簡單,根據(jù)給定的單詞數(shù)組,將數(shù)組中的每個單詞轉(zhuǎn)換成由莫爾斯電碼組成的字符串,計算其中有幾個字符串(重復(fù)出現(xiàn)的不計數(shù))。

第一步,初始化莫爾斯電碼字符串?dāng)?shù)組,創(chuàng)建一個HashSet,用來存儲轉(zhuǎn)換后的新字符串。

第二步,遍歷單詞數(shù)組,將每個單詞中的組成字符轉(zhuǎn)成莫爾斯電碼并且拼接成一個新的字符串,存入HashSet中。

第三步,以HashSet的size作為結(jié)果返回,因為其元素不會重復(fù),其大小就是去重后剩下的字符串?dāng)?shù)量。

public int uniqueMorseRepresentations(String[] words) {

String[] arr = {".-","-...","-.-.","-..",".","..-.",

"--.","....","..",".---","-.-",".-..","--",

"-.","---",".--.","--.-",".-.","...","-",

"..-","...-",".--","-..-","-.--","--.."};

HashSet set = new HashSet();

for (int i=0; i

String str = "";

for (char ch : words[i].toCharArray()) {

str += arr[ch-'a'];

}

set.add(str);

}

return set.size();

}

03 小結(jié)

算法專題目前已日更超過五個月,算法題文章187+篇,公眾號對話框回復(fù)【數(shù)據(jù)結(jié)構(gòu)與算法】、【算法】、【數(shù)據(jù)結(jié)構(gòu)】中的任一關(guān)鍵詞,獲取系列文章合集。

以上就是全部內(nèi)容,如果大家有什么好的解法思路、建議或者其他問題,可以下方留言交流,點贊、留言、轉(zhuǎn)發(fā)就是對我最大的回報和支持!

內(nèi)容來源于網(wǎng)絡(luò)如有侵權(quán)請私信刪除

總結(jié)

以上是生活随笔為你收集整理的java实现对英文字母去重_LeetCode算法题-Unique Morse Code Words(Java实现)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。