Untitled

 avatar
unknown
c_cpp
4 years ago
1.2 kB
6
Indexable
int max(int a, int b){
        int max=a>b?a:b;
        return max;
    }
    
    int findLHS(vector<int>& nums) {
        unordered_map<int, vector<int>> um;
        
        
        for(int i = 0; i < nums.size(); i++){
           if(um.find(nums[i]) == um.end()){
               um[nums[i]].push_back(0);
           }
            if(um.find(nums[i]) != um.end()){
                 if((um.find(nums[i] - 1) != um.end())== true){
                   um[nums[i] - 1].push_back(nums[i]);
               }
               if((um.find(nums[i]) != um.end()) == true){
                  //some problem
                   
                   um[nums[i]].push_back(nums[i]);
               }
               if((um.find(nums[i]+1) != um.end()) == true){
                   um[nums[i]].push_back(nums[i]);
                 }
            } 
        }
        int m = 0;
        for(auto x: um){
            for(int i = 1; i < x.second.size(); i++){
                cout<<x.second[i];
            }
            cout<<" ";
            m = max(m, (x.second.size()-1));
            cout<<x.first<<" "<<m<<" "<<endl;
        }
       return (m); 
Editor is loading...