<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
給定兩個字串 s 和 t ,判斷它們是否是同構的。
如果 s 中的字元可以按某種對映關係替換得到 t ,那麼這兩個字串是同構的。
每個出現的字元都應當對映到另一個字元,同時不改變字元的順序。不同字元不能對映到同一個字元上,相同字元只能對映到同一個字元上,字元可以對映到自己本身。
輸入:s = "egg", t = "add"
輸出:true
輸入:s = "foo", t = "bar"
輸出:false
輸入:s = "paper", t = "title"
輸出:true
提示:
1 <= s.length <= 5 * 104
t.length == s.length
s 和 t 由任意有效的 ASCII 字元組成
此題需要我們判斷 s 和 t 每個位置上的字元是否都一一對應,即 s 的任意一個字元被 t 中唯一的字元對應,同時 t 的任意一個字元被 s 中唯一的字元對應。這也被稱為「雙射」的關係。
以範例 2 為例,t 中的字元 a 和 r 雖然有唯一的對映 o,但對於 s 中的字元 o 來說其存在兩個對映 {a,r},故不滿足條件。
因此,我們維護兩張雜湊表,第一張雜湊表 s2t 以 s 中字元為鍵,對映至 t 的字元為值,第二張雜湊表 t2s 以 t 中字元為鍵,對映至 s 的字元為值。
class Solution { public boolean isIsomorphic(String s, String t) { Map<Character, Character> s2t = new HashMap<Character, Character>(); Map<Character, Character> t2s = new HashMap<Character, Character>(); int len = s.length(); for (int i = 0; i < len; ++i) { char x = s.charAt(i), y = t.charAt(i); if ((s2t.containsKey(x) && s2t.get(x) != y) || (t2s.containsKey(y) && t2s.get(y) != x)) { return false; } s2t.put(x, y); t2s.put(y, x); } return true; } }
時間複雜度:O(N)
空間複雜度:O(1)
具體的方法思路已經在上文中表述,具體詳情請看上文內容。
方法思路:
func isIsomorphic(s, t string) bool { s2t := map[byte]byte{} t2s := map[byte]byte{} for i := range s { x, y := s[i], t[i] if s2t[x] > 0 && s2t[x] != y || t2s[y] > 0 && t2s[y] != x { return false } s2t[x] = y t2s[y] = x } return true }
時間複雜度:O(N)
空間複雜度:O(1)
以上就是Go Java演演算法之同構字串範例詳解的詳細內容,更多關於Go Java演演算法同構字串的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45