class Solution { public: int longestConsecutive(vector<int> &num) { int n = num.size(); if(n <= 0) return 0; if(n == 1) return 1; sort(num.begin(), num.end()); int maxAll = 1; int maxLast = 1; vector<int>::iterator cit = num.begin(); vector<int>::iterator lit = cit; cit++; while(cit!=num.end()) { int del = *cit - *lit; if(del == 0) { cit ++; lit ++; continue; } if(del == 1) maxLast ++; else maxLast = 1; maxAll = max(maxAll, maxLast); cit ++; lit ++; } return maxAll; } };
欢迎关注微信公众号——计算机视觉:
相关推荐
4. **最长连续序列(Longest Consecutive Sequence)** - **问题描述**:给定一个未排序的整数数组,找出最长连续序列的长度。 - **解决方案**: - 使用哈希集合存储数组中的所有元素。 - 遍历数组中的每个元素...
201 | [Bitwise AND of Numbers Range](https://leetcode.com/problems/bitwise-and-of-numbers-range/) | [C++](./C++/bitwise-and-of-numbers-range.cpp) [Python](./Python/bitwise-and-of-numbers-range.py) | _...
此外,"Leetcode-main"可能还包含了其他挑战,如“最长连续序列”(Longest Consecutive Sequence)来演示如何使用集合进行有效的状态追踪,或者“最大子数组和”(Maximum Subarray)来展示动态规划的应用。每个问题的...
- **2.1.6 Longest Consecutive Sequence** - 找出数组中最长的连续子序列。 - 实现思路:可以使用哈希表存储每个元素及其连续状态,然后遍历数组找到最长的连续序列。 - **2.1.7 Two Sum** - 寻找数组中两个数...
比如,“最长连续序列”(Longest Consecutive Sequence)要求找到给定无序整数数组中最长的连续序列长度,这涉及到哈希表和递归/迭代的巧妙结合。 LeetCode平台的开源特性意味着用户可以查看其他人的解决方案,...
例如,“最长连续序列”(Longest Consecutive Sequence)问题,要求找出最长的连续整数序列。 9. **回溯法**:用于解决组合优化问题,如“字母异位词”(Anagram)问题,你需要通过回溯找到所有可能的字母排列。 ...
2. **2.1.6 Longest Consecutive Sequence**:给定一个未排序的整数数组,找出其中最长连续序列的长度。 3. **2.1.7 Two Sum**:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个...
"最长连续序列"(Longest Consecutive Sequence)要求找到给定无序整数数组中最长的连续序列。 11. **位操作**:位操作在某些算法中非常高效,如查找数组中的奇数或偶数元素。"按位与的次数"(Number of 1 Bits)...