• leetcode 1 两数之和 hashmap


    主要是hashmap。还有边插入边查找,提高效率和降低空间复杂度。

    之前一直用map,结果发现还有hashmap,效率更高。

    注意名称空间为 

    using namespace __gnu_cxx;

    问题在于hash_map目前并没有纳入C++ 标准模板库中,在跨平台使用时就可能会出现问题,

    但几乎每个版本的STL都提供了相应的实现。

    头文件<hash_map>

    另外map插入数据时有几种方法。我习惯用make_pair

    常用

    1.    map<int, string> mapStudent;  
    2.   
    3.     mapStudent.insert(pair<int, string>(1, "student_one"));  
    1.  map<int, string> mapStudent;  
    2.   
    3.     mapStudent.insert(map<int, string>::value_type (1, "student_one"));  
    1.  map<int, string> mapStudent;  
    2.   
    3.     mapStudent.insert(make_pair(1, "student_one"));  
    4.   
    5.     mapStudent.insert(make_pair(2, "student_two"));  
    #include<hash_map>
    #include<vector>
    
    using namespace __gnu_cxx;
    
    class Solution {
    public:
        vector<int> twoSum(vector<int>& nums, int target) {
            /*
           
            vector<int> b;
            for(int i=0;i<nums.size();i++)
                mmap.insert(make_pair(nums[i],i));
            for(int i=0;i<nums.size();i++)
            {
                if((mmap.count(target-nums[i]))&&(mmap[target-nums[i]]!=i))
                {
                    b.push_back(mmap[target-nums[i]]);
                    b.push_back(i);
                    break;
                }
            }*/
            vector<int> b;
              hash_map<int,int> mmap;
            for(int i=0;i<nums.size();i++)
            {
                 mmap.insert(make_pair(nums[i],i));
                if((mmap.count(target-nums[i]))&&(mmap[target-nums[i]]!=i))
                {
                    b.push_back(mmap[target-nums[i]]);
                    b.push_back(i);
                    break;
                }
            }
            
            return b;
        };
    };
  • 相关阅读:
    Perf 简介
    quagga源码分析--路由信息处理zebra-rib
    quagga源码分析--大内总管zebra
    定位虚拟机卡的原因
    quagga源码分析--内核通信netlink
    网络叠加模式VLAN、VxLAN、GRE
    DPDK support for vhost-user
    SR-IOV简介
    Nginx stream(TCP/UDP)负载均衡
    制作Ubuntu14.04的Openstack镜像
  • 原文地址:https://www.cnblogs.com/lqerio/p/11706340.html
Copyright © 2020-2023  润新知