- 浏览: 183491 次
- 性别:
- 来自: 济南
文章分类
最新评论
Given an array of strings, group anagrams together.
For example, given: ["eat", "tea", "tan", "ate", "nat", "bat"],
Return:
[
["ate", "eat","tea"],
["nat","tan"],
["bat"]
]
Note:
For the return value, each inner list's elements must follow the lexicographic order.
All inputs will be in lower-case.
有关异构字符串的题目,这道题让我们从一个字符串数组中将异构字符串分组,并且每组中是按照字母顺序排列的。
我们可以借助哈希表来完成。创建一个哈希表,让它的key为String,value为一个链表。每次从数组中取一个元素后,我们可以先将它转化为字符数组,然后排序后转换为一个字符串,这样一来所有的异构字符串都会变为相同一个在一个字符串,哈希表中的key就存放这个转换后的串。这样就可以把异构字符串分组了。代码如下:
For example, given: ["eat", "tea", "tan", "ate", "nat", "bat"],
Return:
[
["ate", "eat","tea"],
["nat","tan"],
["bat"]
]
Note:
For the return value, each inner list's elements must follow the lexicographic order.
All inputs will be in lower-case.
有关异构字符串的题目,这道题让我们从一个字符串数组中将异构字符串分组,并且每组中是按照字母顺序排列的。
我们可以借助哈希表来完成。创建一个哈希表,让它的key为String,value为一个链表。每次从数组中取一个元素后,我们可以先将它转化为字符数组,然后排序后转换为一个字符串,这样一来所有的异构字符串都会变为相同一个在一个字符串,哈希表中的key就存放这个转换后的串。这样就可以把异构字符串分组了。代码如下:
public class Solution { public List<List<String>> groupAnagrams(String[] strs) { HashMap<String, List<String>> hm = new HashMap<String, List<String>>(); List<List<String>> llist = new ArrayList<List<String>>(); if(strs == null || strs.length == 0) return llist; for(int i = 0; i < strs.length; i++) { char[] tem = strs[i].toCharArray(); Arrays.sort(tem); String s = new String(tem); if(!hm.containsKey(s)) { hm.put(s, new ArrayList<String>()); } hm.get(s).add(strs[i]); } for(List list : hm.values()) { Collections.sort(list); llist.add(list); } return llist; } }
发表评论
-
498. Diagonal Traverse
2019-11-15 13:52 265Given a matrix of M x N eleme ... -
496 Next Greater Element I
2019-11-14 13:50 267You are given two arrays (witho ... -
Word Break II
2016-03-09 03:15 384Given a string s and a dictiona ... -
Insert Interval
2016-03-08 02:11 374Given a set of non-overlapping ... -
Merge Intervals
2016-03-07 05:25 497Given a collection of intervals ... -
Merge k Sorted Lists
2016-03-07 04:03 563Merge k sorted linked lists and ... -
Multiply Strings
2016-03-06 07:27 475Given two numbers represented a ... -
N-Queens II
2016-03-06 03:06 664Follow up for N-Queens problem. ... -
N-Queens
2016-03-06 02:47 469The n-queens puzzle is the prob ... -
First Missing Positive
2016-03-05 03:09 429Given an unsorted integer array ... -
Spiral Matrix
2016-03-04 03:39 575Given a matrix of m x n element ... -
Trapping Rain Water
2016-03-04 02:54 580Given n non-negative integers r ... -
Repeated DNA Sequences
2016-03-03 03:10 426All DNA is composed of a series ... -
Increasing Triplet Subsequence
2016-03-02 02:48 898Given an unsorted array return ... -
Maximum Product of Word Lengths
2016-03-02 01:56 930Given a string array words, fin ... -
LRU Cache
2016-02-29 10:37 602Design and implement a data str ... -
Super Ugly Number
2016-02-29 07:07 673Write a program to find the nth ... -
Longest Increasing Path in a Matrix
2016-02-29 05:56 842Given an integer matrix, find t ... -
Coin Change
2016-02-29 04:39 783You are given coins of differen ... -
Minimum Height Trees
2016-02-29 04:11 704For a undirected graph with tre ...
相关推荐
java java_leetcode题解之Group Anagrams.java
java入门 java_leetcode题解之049_Group_Anagrams
js js_leetcode题解之49-group-anagrams.js
c语言入门 C语言_leetcode题解之49-group-anagrams.c
第49题"字母异位词分组"是LeetCode中的一个经典问题,它涉及到字符串处理和哈希表的应用。在这个问题中,我们的目标是将输入的字符串数组根据字母异位词的定义进行分组。 字母异位词是指两个字符串包含完全相同的...
标题 "PseudoCode_Anagrams_" 暗示我们即将探讨的是使用伪代码解决与字母异位词(Anagrams)相关的编程问题。字母异位词是指两个单词由相同的字符组成,但字符顺序不同。例如,“listen”和“silent”就是一对字母异...
function groupAnagrams($strs) { $result = []; foreach ($strs as $str) { // 对字符串进行排序 $sortedStr = str_split($str); sort($sortedStr); $sortedStr = implode('', $sortedStr); // 如果哈希表...
def groupAnagrams(strs): ans = {} for s in strs: key = ''.join(sorted(s)) if key not in ans: ans[key] = [s] else: ans[key].append(s) return list(ans.values()) ``` 在这个解决方案中,我们...
Anagrams by Robert Rayment.Finding anagrams quickly for up to 9 letters in VB is impossible challenge!).
简单java swing小游戏anagrams,这是一个把单词中字母顺序打乱后猜正确顺序的小游戏,非常简单,适合java初学者,我自己把从netbeans官网版的做了一些小改动,改成了更加随机的生成方式,提高了一点点游戏难度。
标题 "PyPI 官网下载 | anagrams-0.0.4.tar.gz" 提到的是一个在Python Package Index (PyPI) 上发布的软件包,名为 "anagrams",版本为0.0.4,它的打包格式是tar.gz。PyPI是Python社区的主要仓库,开发者可以在这里...
《PyPI官网下载 | anagrams-0.0.2.tar.gz——探索Python库的安装与使用》 在Python的世界里,PyPI(Python Package Index)是最重要的资源库,它为全球的开发者提供了一个集中地来发布、分享和发现Python软件包。本...
Anagrams (Updated):Quickly finds anagrams for 2 to 9 letters. Using method suggested by Shannon Harmon. Use is made of the UKACD word list - see UKACD.txt.
标题 "Anagrams_Anaghram_" 暗示我们关注的主题是关于字谜和字母重新排列的游戏,即“字谜”或“同音词”。在这个场景下,"Anaghram"可能是一个程序或算法,用于创建、解决或者分析字谜。 描述 "Anagram programs ...
给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。 题目参考: 实现版本: 题解参考: week 2 removeHexPrefix : 去除16进制的前缀,并转换为小写 实现版本: sanitizeHex : 为...
《程序与字母异位词:探索数字的奇妙变换》 在计算机编程的世界里,我们常常会遇到各种有趣的挑战,其中一个便是寻找字母异位词(Anagram)。字母异位词指的是两个单词由完全相同的字母组成,但字母的排列顺序不同...
在这个问题中,我们处理的是找出一组单词中哪些是彼此的字母异位词,即它们包含相同的字母但排列顺序不同。例如,“listen”和“silent”就是一对字母异位词。 在提供的文件中,"1.py"很可能是实现Anagrams问题解决...
字母异位词(Anagrams) 基于前缀树的自动补全(Autocomplete Using Trie) 条形码验证器(Barcode Validator) Boyer-Moore搜索算法(Boyer Moore Search) 字符串能否重排成回文(Can String Be Rearranged As ...