LeetCode()Group Anagrams

改了又改,简化了又简化,还是超时。可见必须从数组本身来进行hash运算。

class Solution {
public:
    vector<vector<string>> groupAnagrams(vector<string>& strs) {
        vector<vector<string>> res;
        int flag=0;
        for(int i=0;i<strs.size();i++)
        {
            for(int j=0;j<res.size();j++)
            {

                if(res[j][0].size()== strs[i].size() && f(res[j][0],strs[i]))
                {
                    res[j].push_back(strs[i]);
                    flag=1;
                    break;
                }
            }
            if(flag == 0)
            {
                vector<string> t;
                t.push_back(strs[i]);
                res.push_back(t);
            }
            flag=0;
        }
        return res;
    }
    bool f(string a,string b){
        int ss[26]={2 ,3 ,5 ,7 ,11 ,13, 17, 19, 23 ,29 ,31 ,37 ,41, 43, 47,53 ,59, 61, 67, 71, 73, 79, 83, 89, 97 };
        long long ra=1,rb=1;
        for(int i=0;i<a.size();i++)
        {
            ra = ra*ss[a[i]-‘a‘];
            rb = rb*ss[b[i]-‘a‘];
        }
        return ra==rb;
    }
};

  

时间: 2024-10-12 04:12:27

LeetCode()Group Anagrams的相关文章

Leetcode——————Group Anagrams

这道题对我来说比较难: 1.首先题目要求输出的结果,应该用什么形式的数据结构来存储呢 2.涉及到map,collection,sort( )等函数,或者其他的一堆东西,几乎一无所知. copy大神代码如下: public class Solution { //返回值是以链表作为节点的链表. public List<List<String>> groupAnagrams(String[] strs) { Map<String, List<String>> ma

【Leetcode】Group Anagrams

题目链接:https://leetcode.com/problems/anagrams/ 题目: Given an array of strings, group anagrams together. For example, given: ["eat", "tea", "tan", "ate", "nat", "bat"], Return: [ ["ate", &q

【一天一道LeetCode】#49. Group Anagrams

一天一道LeetCode系列 (一)题目 Given an array of strings, group anagrams together. For example, given: ["eat", "tea", "tan", "ate", "nat", "bat"], Return: [ ["ate", "eat","tea"

LeetCode 49. 字母异位词分组(Group Anagrams)

49. 字母异位词分组 49. Group Anagrams 题目描述 给定一个字符串数组,将字母异位词组合在一起.字母异位词指字母相同,但排列不同的字符串. 示例: 输入: ["eat", "tea", "tan", "ate", "nat", "bat"], 输出: [ ??["ate","eat","tea"], ??[&

【LeetCode】49. Group Anagrams

Given an array of strings, group anagrams together. For example, given: ["eat", "tea", "tan", "ate", "nat", "bat"], Return: [ ["ate", "eat","tea"], ["nat",

Group Anagrams Leetcode

Given an array of strings, group anagrams together. For example, given: ["eat", "tea", "tan", "ate", "nat", "bat"], Return: [ ["ate", "eat","tea"], ["nat",

Leetcode 49. Group Anagrams

Given an array of strings, group anagrams together. For example, given: ["eat", "tea", "tan", "ate", "nat", "bat"], Return: [ ["ate", "eat","tea"], ["nat",

LeetCode OJ:Group Anagrams(同字符字符群)

Given an array of strings, group anagrams together. For example, given: ["eat", "tea", "tan", "ate", "nat", "bat"], Return: [ ["ate", "eat","tea"], ["nat",

【Leetcode】【Medium】Group Anagrams

Given an array of strings, group anagrams together. For example, given: ["eat", "tea", "tan", "ate", "nat", "bat"], Return: [ ["ate", "eat","tea"], ["nat",