zoukankan      html  css  js  c++  java
  • [leetcode]Anagrams

    使用了HashMap和排序,此题就没啥了。在长度一定范围的情况下,用26*的方式做key会更好。

    注意两点:

    1. java的遍历是for和:  

    2. map.keySet()

    public class Solution {
        public ArrayList<String> anagrams(String[] strs) {
            ArrayList<String> ans = new ArrayList<String>();
            HashMap<String, ArrayList<String>> map = new HashMap<String, ArrayList<String>>();
            for (int i = 0; i < strs.length; i++)
            {
                char[] chars = strs[i].toCharArray();
                Arrays.sort(chars);
                String key = new String(chars);
                if (map.containsKey(key))
                {
                    map.get(key).add(strs[i]);
                }
                else
                {
                    ArrayList<String> list = new ArrayList<String>();
                    list.add(strs[i]);
                    map.put(key, list);
                }
            }
            for (String s : map.keySet())
            {
                if (map.get(s).size() > 1)
                {
                    ans.addAll(map.get(s));
                }
            }
            return ans;
        }
    }
    

    第二刷,参考了Annie的做法

    class Solution {
    public:
        vector<string> anagrams(vector<string> &strs) {
            unordered_map<string, vector<int>> map;
            for (int i = 0; i < strs.size(); i++) {
                string s = strs[i];
                sort(s.begin(), s.end());
                map[s].push_back(i);
            }
            vector<string> result;
            for (auto iter = map.begin(); iter != map.end(); iter++) {
                if (iter->second.size() > 1) {
                    for (int i = 0; i < iter->second.size(); i++) {
                        result.push_back(strs[iter->second[i]]);
                    }
                }
            }
            return result;
        }
    };
    

      

  • 相关阅读:
    Variational Autoencoders and Nonlinear ICA: A Unifying Framework
    各层的特征的差异性
    TriggerBN +
    Exponential family of distributions
    个人加分项
    对老师的建议
    2021.6.19
    2021.6.18
    2021.6.17
    2021.6.16
  • 原文地址:https://www.cnblogs.com/lautsie/p/3333731.html
Copyright © 2011-2022 走看看