当前位置:网站首页>187. Repeated DNA sequence - with unordered_ Map basic content

187. Repeated DNA sequence - with unordered_ Map basic content

2022-07-05 01:42:00 The_ Dan

class Solution {
    
public:
    vector<string> findRepeatedDnaSequences(string s) {
    
        unordered_map<string, int> map;
        vector<string> vecStr;
        if(s.size()<=10)    // The sample may not be longer than 10
            return vecStr;
        for(int i = 0; i <= s.size() - 10; i++){
        // Count the number of each occurrence 
            string str = s.substr(i, 10);
            if(map.find(str) != map.end())
                map.find(str)->second++;
            else{
    
                map.insert(pair<string, int>(str, 1));
            }
        }
        for (auto i = map.begin(); i != map.end(); i++){
        // The frequency of occurrence is greater than 1 Times added 
            if(i -> second > 1)
                vecStr.push_back(i -> first);
        }
        return vecStr;
    }
};

Accepted
31/31 cases passed (44 ms)
Your runtime beats 77.64 % of cpp submissions
Your memory usage beats 23.79 % of cpp submissions (22.9 MB)

unordered_map The iterator of is a pointer , Point to this element , Get its value through an iterator .

1 unordered_map<Key,T>::iterator it; 
2 (*it).first;             // the key value (of type Key)
3 (*it).second;            // the mapped value (of type T)
4 (*it);                   // the "element value" (of type pair<const Key,T>) 

Its key values are iterator's first and second attribute .

1 it->first;               // same as (*it).first   (the key value)
2 it->second;              // same as (*it).second  (the mapped value)

Member functions :

================= iterator =========================
begin    Returns the iterator pointing to the beginning of the container (iterator)
end    The position of the iterator at the end of the container points to
cbegin  Returns a constant iterator pointing to the beginning of the container (const_iterator)
cend    Returns the constant iterator pointing to the end of the container
================= Capacity ================
size    Returns the number of valid elements
max_size return unordered_map The maximum number of elements supported
empty Determine whether it is null
================= Element access =================
operator[]    Access elements
at         Access elements
================= Element modification =================
insert    Insert elements
erase   Remove elements
swap    Exchange content
clear   Empty content
emplace   Construct and insert an element
emplace_hint Follow the prompts to construct and insert an element
================ operation =========================
find        Find elements by giving a primary key , Did not find : return unordered_map::end
count       Returns the number of elements that match a given primary key
equal_range    The return value matches the range of elements of a given search value
================ Buckets ======================
bucket_count     Return slot (Bucket) Count
max_bucket_count Returns the maximum number of slots
bucket_size     Return slot size
bucket        Returns the serial number of the slot where the element is located
load_factor     Returns the load factor , It's an element tank (Bucket) The maximum number of elements
max_load_factor   Returns or sets the maximum load factor
rehash       Set the number of slots
reserve       Request to change container capacity

原网站

版权声明
本文为[The_ Dan]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/02/202202141019324984.html