fork download
  1. #include <iostream>
  2. #include <vector>
  3. using namespace std;
  4.  
  5. std::vector<int> longestSequence(const std::vector<int>& numbers)
  6. {
  7. std::vector<int> result;
  8. if (numbers.empty())
  9. return result;
  10. size_t longestStart = 0, longestLength = 0;
  11. size_t start = 0;
  12. for (size_t i = 1, imax = numbers.size(); i < imax; ++i) {
  13. if (numbers[i] / 10 != numbers[i - 1]) {
  14. if (i - start > longestLength) {
  15. longestStart = start;
  16. longestLength = i - start;
  17. }
  18. start = i;
  19. }
  20. }
  21. if (numbers.size() - start > longestLength) {
  22. longestStart = start;
  23. longestLength = numbers.size() - start;
  24. }
  25. result.assign(begin(numbers) + longestStart, begin(numbers) + longestStart + longestLength);
  26. return result;
  27. }
  28.  
  29. int main() {
  30. // your code goes here
  31. auto s = longestSequence({523,742,7421,12,123,1234,87});
  32. for (auto n : s)
  33. cout << " " << n;
  34. return 0;
  35. }
Success #stdin #stdout 0s 3428KB
stdin
Standard input is empty
stdout
 12 123 1234