leetcode 较难题

1.Longest Consecutive Sequence

自动插入排序

class Solution {  
public:  
  int longestConsecutive(vector<int> &num)
  {  
       map<int,int>hmap;
       hmap.clear();  
       int n = num.size();  
       for(int i=0; i<n; i++)
       {  
           hmap[num[i]]=1;
       }  
       int ans = 1; 
       int max=1;
       int pre_k = 0;  
       int pre_v = 0;        
       map<int, int>::iterator it;  
       for(it = hmap.begin(); it != hmap.end(); it++)  
       {  
          if(it!=hmap.begin())
          {
              if(it->first == pre_k + 1)
              {     
                ans++;
             }
             else ans=1;
          }
           pre_k = it->first;  
           pre_v = it->second; 
           max=max>ans?max:ans;
       }  
      return max;  
  }  
};  

 

转载于:https://www.cnblogs.com/tgkx1054/archive/2013/05/13/3076858.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值