精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

哈希表妙解字母異位詞

開發 前端
今天給大家帶來一道與哈希表相關的題目,這道題同時也是微軟、字節、谷歌和亞馬遜等互聯網大廠的面試題,即力扣上第242題-有效的字母異位詞。

[[413065]]

本文轉載自微信公眾號「程序員小熊」,作者程序員小熊。轉載本文請聯系程序員小熊公眾號。

前言

大家好,我是來自于華為的程序員小熊。今天給大家帶來一道與哈希表相關的題目,這道題同時也是微軟、字節、谷歌和亞馬遜等互聯網大廠的面試題,即力扣上第242題-有效的字母異位詞。

本文主要介紹哈希表的策略來解答此題,供大家參考,希望對大家有所幫助。

有效的字母異位詞

  1. 給定兩個字符串 s 和 t ,編寫一個函數來判斷 t 是否是 s 的字母異位詞。 
  2.  
  3. 注意:若 s 和 t 中每個字符出現的次數都相同,則稱 s 和 t 互為字母異位詞。 
  4.  
  5.  
  6. 示例 1: 
  7.  
  8. 輸入: s = "anagram", t = "nagaram" 
  9. 輸出: true 
  10.  
  11. 示例 2: 
  12.  
  13. 輸入: s = "rat", t = "car" 
  14. 輸出: false 
  15.   
  16.  
  17. 提示: 
  18.  
  19. 1 <= s.length, t.length <= 5 * 104 
  20. s 和 t 僅包含小寫字母 

解題思路

字母異位詞:由相同的字母按照不同的順序組成的單詞。

根據上述字母異位詞的定義可知,兩個字符串要互為字母異位詞,則必須滿足一下兩個條件:

  • 長度相等;
  • 相同字符出現的次數相同。

凡是涉及到字母出現的頻次的相關問題,都可以考慮用哈希表去求解,可以以字母為哈希表的key,字母出現的次數作為哈希表的value。

舉例

以判斷 s = "anagram" 和 t = "nagaram" 是否互為字母異位詞為例子,如下圖示。

例子

定義一個數組(C 語言用數組模擬哈希表)或哈希表(C++ 等語言),以 s[i] - 'a' 作為哈希表的 key,以 s[i] 在字符串 s 中出現的次數作為 value;

哈希表

遍歷字符串 s 和 t,遇到 s 中的字符時,對哈希表中記錄的 value 加 1,否則減 1;

對字符串 s 中的字符的處理

對字符串 t 中的字符的處理

以此類推,采用哈希表的策略的完整處理過程,如下動圖示:

哈希表處理完整過程

Show me the Code

C

  1. bool isAnagram(char * s, char * t){ 
  2.     /* 判斷字符串是否為空,為空則不能用 strlen 求長度 */ 
  3.     if (s == NULL && t == NULL) { 
  4.         return true
  5.     } else if (s == NULL && t != NULL || s != NULL && t == NULL) { 
  6.         return false
  7.     /* 兩個非空字符串長度不等,肯定不互為字母異位詞 */ 
  8.     } else if (strlen(s) != strlen(t)){ 
  9.         return false
  10.     } 
  11.      
  12.     /* 數組模擬哈希表 */ 
  13.     char hash[26] = {0}; 
  14.     for (int i = 0; s[i] != '\0'; ++i) { 
  15.         hash[s[i] - 'a']++; 
  16.         hash[t[i] - 'a']--; 
  17.     } 
  18.  
  19.     for (int i = 0; i < 26; ++i) { 
  20.         if (hash[i] != 0) { 
  21.             return false
  22.         } 
  23.     } 
  24.  
  25.     return true

C++

  1. bool isAnagram(string s, string t) { 
  2.     if (s.length() != t.length()) { 
  3.         return false
  4.     } 
  5.  
  6.     int len = s.length(); 
  7.     unordered_map<intint> record; 
  8.     for (int i = 0; i < len; ++i) { 
  9.         record[s[i] - 'a']++; 
  10.         record[t[i] - 'a']--; 
  11.     } 
  12.  
  13.     for (int i = 0; i < 26; ++i) { 
  14.         if (record[i] != 0) { 
  15.             return false
  16.         } 
  17.     } 
  18.      
  19.     return true

Java

  1. boolean isAnagram(String s, String t) { 
  2.     if (s.length() != t.length()) { 
  3.         return false
  4.     } 
  5.  
  6.     int[] hash = new int[26]; 
  7.     for (int i = 0; i < s.length(); i++) { 
  8.         hash[s.charAt(i) - 'a']++; 
  9.         hash[t.charAt(i) - 'a']--; 
  10.     } 
  11.  
  12.     for (int i : hash) { 
  13.         if (i != 0) { 
  14.             return false
  15.         } 
  16.     } 
  17.  
  18.     return true

Python3

  1. def isAnagram(self, s: str, t: str) -> bool: 
  2.     if len(s) != len(t): 
  3.         return False 
  4.  
  5.     hash = [0]*26 
  6.     for i in range(len(s)): 
  7.         hash[ord(s[i]) - ord("a")] += 1 
  8.     for i in range(len(t)): 
  9.         hash[ord(t[i]) - ord("a")] -= 1 
  10.  
  11.     for i in range(26): 
  12.         if hash[i] != 0: 
  13.             return False 
  14.              
  15.     return True 

Golang

  1. func isAnagram(s string, t string) bool { 
  2.   if len(s) != len(t) { 
  3.     return false 
  4.   } 
  5.  
  6.   var hash [26]int 
  7.   for i := range s { 
  8.     hash[s[i] - 'a']++ 
  9.     hash[t[i] - 'a']-- 
  10.   } 
  11.  
  12.   for _, v := range hash { 
  13.     if v != 0 { 
  14.       return false 
  15.     } 
  16.   } 
  17.    
  18.   return true 

復雜度分析

時間復雜度:O(n),其中 n 是字符串的長度,需要遍歷一遍字符串。

空間復雜度:O(S),其中 S 為字符集大小,S = 26。

 

責任編輯:武曉燕 來源: 程序員小熊
相關推薦

2021-04-29 10:08:10

數據結構哈希表

2010-07-16 13:10:36

Perl哈希表

2024-10-16 11:03:30

Linux高性能編程

2017-06-01 10:44:29

2023-11-24 17:58:03

Python哈希

2010-07-13 16:34:34

Perl 哈希表

2023-02-13 08:02:08

哈希函數哈希表搜索樹

2009-03-13 13:58:10

Javascript哈希表偽哈希表

2009-08-20 17:17:02

C#哈希表

2024-11-07 08:47:53

2013-10-10 10:34:47

哈希算法

2017-07-27 14:21:40

phpPHP源碼分析hashtable

2022-06-06 08:16:16

RedisJavaHaspM

2010-07-13 16:20:21

Perl 哈希表

2010-07-16 13:57:13

Perl哈希表

2010-10-14 16:34:41

MySQL查詢

2024-08-05 09:42:05

2016-12-21 10:35:55

PHP內核PHP哈希表

2010-07-19 09:28:37

Perl關聯數組

2009-04-27 21:28:56

點贊
收藏

51CTO技術棧公眾號

亚洲精美色品网站| 亚洲三级理论片| 国产成人一区二区| 国产一区二区精彩视频| 国产精品香蕉| 欧美日韩免费观看一区二区三区| 四虎4hu永久免费入口| 神马久久久久久久久久| 久久精品国产99久久6| 欧美精品福利在线| 国产三级精品三级观看| 欧美影院天天5g天天爽| 欧美一区二区视频免费观看| 一本大道熟女人妻中文字幕在线| 伦xxxx在线| 26uuu国产日韩综合| 91高跟黑色丝袜呻吟在线观看| 欧美特黄aaaaaa| 欧美在线免费一级片| 国产亚洲综合久久| 日本五十肥熟交尾| 国产午夜精品一区在线观看| 色噜噜狠狠成人中文综合| 国产 欧美 日韩 一区| 在线看免费av| 国产亚洲美州欧州综合国| 国产精品一区二区三区免费观看| 一本色道久久综合熟妇| 日韩电影在线观看网站| 欧美在线激情网| 国产一级一级片| 欧美精品不卡| 久久最新资源网| 国产主播av在线| 欧美日韩在线二区| 亚洲人成电影网| 大尺度做爰床戏呻吟舒畅| 日韩精品视频中文字幕| 欧美精品丝袜久久久中文字幕| 麻豆传传媒久久久爱| 日韩欧美精品一区二区三区| 亚洲午夜在线观看视频在线| 波多野结衣与黑人| 青春草在线视频| 亚洲无人区一区| 国产肉体ⅹxxx137大胆| 怡红院在线观看| 亚洲制服丝袜av| 日本免费成人网| 欧洲精品二区| 亚洲成a人v欧美综合天堂| 国内少妇毛片视频| av资源一区| 精品久久久久久久久久久| 成人免费在线网| 成人影院在线视频| 欧美日韩亚洲精品一区二区三区| 欧美黄色免费影院| 影视一区二区三区| 欧美日韩久久不卡| 91视频福利网| 大桥未久女教师av一区二区| 日韩精品一区二区视频| 尤物视频最新网址| 久久理论电影| 欧美成人免费在线视频| 国产在线综合网| 国产日韩一区| 国产精品扒开腿做| 国产又色又爽又黄又免费| 国产丶欧美丶日本不卡视频| 国产精品久久九九| 免费在线观看一级毛片| 国产精品久久久久影视| 400部精品国偷自产在线观看| 欧美高清另类hdvideosexjaⅴ| 性做久久久久久免费观看| 国产性xxxx18免费观看视频| 精品无人乱码一区二区三区 | 成人精品一区二区三区中文字幕| 国产成人精品日本亚洲11| 天天操天天干天天操| 国产免费久久精品| 神马午夜伦理影院| 亚洲黄色网址| 91精品国产综合久久小美女| 香港三级日本三级| 日韩欧美午夜| 久久久久久97| 中日韩av在线| 成人av在线播放网站| 小说区图片区图片区另类灬| 日韩av激情| 在线观看不卡一区| 久久久久亚洲AV成人网人人小说| 欧美人与牛zoz0性行为| 欧美另类交人妖| 国产一级片av| 成人av网站在线观看| 亚洲国产综合自拍| 99爱在线视频| 91精品黄色片免费大全| 国产又粗又猛又爽又黄av| 欧美 日韩 国产一区二区在线视频 | 久久久久se| 呦呦在线视频| 欧美伊人久久大香线蕉综合69| 三上悠亚 电影| 欧美日韩激情| 欧美一级成年大片在线观看| 国内精品偷拍视频| 亚洲国产成人一区二区三区| 日本午夜激情视频| 精品一区91| 色狠狠久久aa北条麻妃| 国产综合精品视频| 成人av在线影院| 日本精品福利视频| 日韩一级特黄| 一区二区三区高清国产| 欧美日韩乱国产| 不卡免费追剧大全电视剧网站| 免费观看中文字幕| 欧美videos粗暴| 亚洲国产高清自拍| 国产一级做a爰片在线看免费 | 亚洲熟女一区二区三区| 天天色天天射综合网| 国产精品日日摸夜夜添夜夜av| 欧美熟妇乱码在线一区| 亚洲午夜视频在线观看| 国产91在线免费观看| 91成人精品| 国产欧美一区二区三区久久 | 欧美激情视频在线观看| 国产强被迫伦姧在线观看无码| 中文字幕av一区二区三区高| 亚洲男人天堂色| 精品freesex老太交| 欧美一级电影在线| 日本福利片在线| 日韩欧美在线一区| 久久久久久久久久久国产精品| 国产精品普通话对白| 精品久久久久久一区| 九色porny丨国产首页在线| 亚洲国产欧美一区二区三区久久| 久久久午夜影院| 99国产精品99久久久久久| 欧美深夜福利视频| 伊人久久大香线蕉| 国产成人福利网站| 91精品国产91久久久久游泳池| 欧美无人高清视频在线观看| 三级黄色在线观看| 丰满亚洲少妇av| 欧美一级免费播放| 要久久电视剧全集免费| 国产精品入口夜色视频大尺度 | 亚洲欧美国产三级| 国产不卡的av| 在线观看视频日韩| 免费h精品视频在线播放| 天天综合网天天| www.亚洲男人天堂| 亚洲av无码乱码国产精品久久 | 最新国产中文字幕| 综合色中文字幕| 师生出轨h灌满了1v1| 亚洲人成久久| 神马欧美一区二区| 欧美特黄不卡| 欧美亚洲成人网| 在线看av的网址| 日韩欧美色综合网站| 毛片基地在线观看| 国产精品不卡视频| 亚洲婷婷在线观看| 日本一区中文字幕| 国产91沈先生在线播放| 免费视频一区三区| 91九色在线观看| 日韩福利一区| 欧美日韩国产123| 北岛玲一区二区三区| 欧美一区二区三区视频在线| 五月天激情国产综合婷婷婷| ...xxx性欧美| 亚洲自拍偷拍一区二区 | 亚洲aⅴ日韩av电影在线观看 | 久久只有这里有精品| 看片的网站亚洲| av高清在线免费观看| 免费欧美激情| yellow视频在线观看一区二区| 国产v综合v| 久久久久久国产| 91官网在线| 日韩高清免费观看| 国产三级伦理片| 欧美性一区二区| 中文字幕第15页| 亚洲精品免费播放| 欧美日韩国产一二三区| 91香蕉国产在线观看软件| 中文字幕日韩久久| 秋霞午夜鲁丝一区二区老狼| 国产精品久久中文字幕| 亚洲欧美色图| 一本色道久久综合亚洲二区三区 | 亚洲欧美第一页| 性一交一乱一色一视频麻豆| 欧美日本精品一区二区三区| 性无码专区无码| 亚洲成av人片观看| 老妇女50岁三级| 中文字幕一区二区在线观看 | 成人在线免费小视频| 精品无人乱码一区二区三区的优势 | 免费在线看电影| 久久九九热免费视频| av片在线免费观看| 亚洲品质视频自拍网| 婷婷婷国产在线视频| 亚洲国产精品悠悠久久琪琪| 亚洲精品一区二区三区区别| 日韩一区二区在线观看视频播放| 伊人成人在线观看| 欧美性受xxxx| 日韩不卡高清视频| 在线视频欧美精品| 在线免费观看av网址| 色综合久久六月婷婷中文字幕| 91看片在线播放| 偷拍日韩校园综合在线| 国产无码精品视频| 亚州成人在线电影| 激情五月色婷婷| 岛国av在线不卡| 青青操免费在线视频| 欧美丝袜一区二区| 一级成人黄色片| 日韩欧美在线免费观看| 亚洲欧美日韩激情| 欧洲色大大久久| 一级黄色片免费| 91精品国产综合久久精品图片| 国产日韩欧美中文字幕| 欧美成人aa大片| 免费观看黄一级视频| 亚洲精品99999| 亚洲欧洲精品视频| 亚洲欧美在线播放| 成全电影播放在线观看国语| 日韩亚洲综合在线| a黄色片在线观看| 久久久女女女女999久久| 国产精品偷拍| 国产成人+综合亚洲+天堂| 欧美日韩精品一区二区三区视频| 国产精品一香蕉国产线看观看| 欧美jizz18| 成人看片在线| 亚洲尤物av| 亚洲永久激情精品| 欧美国产高清| 亚洲中文字幕无码专区| 日韩电影在线观看网站| 日本77777| 成人av在线网站| 亚洲欧美va天堂人熟伦| 亚洲日本青草视频在线怡红院| 久久久久人妻一区精品色欧美| 亚洲第一综合色| 国产精品51麻豆cm传媒| 日韩一区二区在线免费观看| 欧洲亚洲精品视频| 久久夜色精品国产亚洲aⅴ| 免费v片在线观看| 国产精品最新在线观看| 一区二区中文字幕在线观看| 欧美精品亚洲| 夜间精品视频| 黄色免费视频大全| 国产在线视频精品一区| 波多野结衣办公室33分钟| ...av二区三区久久精品| av大片在线免费观看| 91精品久久久久久久99蜜桃| 亚洲欧美色视频| 欧美巨猛xxxx猛交黑人97人| 三上悠亚亚洲一区| 国产福利一区二区三区在线观看| 教室别恋欧美无删减版| 黄色激情在线视频| 秋霞午夜av一区二区三区| xxxxxx黄色| 一区二区三区四区蜜桃| 特级西西444www高清大视频| 亚洲国产成人爱av在线播放| 麻豆影院在线| 日韩免费观看网站| 国产精品久久久网站 | 国产日韩欧美三级| 最好看的中文字幕| 中文幕一区二区三区久久蜜桃| 国产精品6666| 日韩欧美一二三| 黄色网在线看| 国产精品一区二区三区毛片淫片| 国产精品玖玖玖在线资源| 中文字幕精品在线播放| 免费xxxx性欧美18vr| 中文字幕xxx| 岛国视频午夜一区免费在线观看| 午夜精品久久久久久久第一页按摩| 国产一区二区黑人欧美xxxx| 日本不良网站在线观看| 97中文在线观看| 亚洲电影影音先锋| 岛国av免费在线| 中文一区二区在线观看| 日韩在线视频不卡| 亚洲精品少妇网址| 成av人片在线观看www| 97超碰人人看人人 | 2022亚洲天堂| av不卡免费电影| 国产在线拍揄自揄拍无码视频| 日韩色在线观看| 伊人春色在线观看| 91丨九色丨国产| 久久精品亚洲人成影院| 一区二区在线免费看| 国产精品三级久久久久三级| 这里只有精品免费视频| 中文字幕亚洲欧美日韩高清| 欧亚一区二区| 一区二区三区免费看| 日本一不卡视频| 成年人视频软件| 7777女厕盗摄久久久| 大片免费在线看视频| 亚洲v日韩v综合v精品v| 国产精品mm| 91九色蝌蚪porny| 午夜精品影院在线观看| 亚洲av毛片成人精品| 欧美在线视频导航| 欧美色就是色| 亚洲色图偷拍视频| 亚洲免费高清视频在线| 成人毛片视频免费看| 97视频在线观看成人| 国产成人三级| 天天综合网久久| 最新国产成人在线观看| 午夜精品久久久久久久爽| 性色av香蕉一区二区| 精品一区亚洲| 亚洲一级片av| 天天综合色天天综合色h| 国产中文字幕在线视频| 国产一区私人高清影院| 国产精品v一区二区三区| www.超碰97| 欧美日韩精品欧美日韩精品一| 性欧美1819sex性高清大胸| 久久精品ww人人做人人爽| 全部av―极品视觉盛宴亚洲| 免费看一级一片| 亚洲片在线观看| 精品久久国产一区| 日韩精品一区二区三区久久| 国产精品久久久久久久第一福利 | 最近2019中文免费高清视频观看www99| 中文字幕日韩亚洲| 缅甸午夜性猛交xxxx| 国产精品婷婷午夜在线观看| 国产白浆在线观看| 国产97在线观看| 欧美+日本+国产+在线a∨观看| 免费中文字幕av| 91精品视频网| 日韩电影av| 国产精彩视频一区二区| 欧美激情资源网| 丁香六月天婷婷| 国产在线精品成人一区二区三区| 狠狠88综合久久久久综合网| 国产视频三区四区| 亚洲第一页自拍| 亚洲老司机网| 色综合av综合无码综合网站| 亚洲精品中文字幕在线观看| 国产精品久久一区二区三区不卡| 爱情岛论坛亚洲入口| 久久精品噜噜噜成人av农村| 国产成人精品一区二三区| 久青草国产97香蕉在线视频|