Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- bool almostIncreasingSequence(std::vector<int> sequence)
- {
- int count = 0;
- int problemIndex = 0;
- for(int i = 0; i < sequence.size() - 1; i++)
- {
- if(sequence[i] >= sequence[i + 1])
- {
- count++;
- problemIndex = i;
- }
- }
- if(count > 1)
- return false;
- return checkIncreasing(sequence, problemIndex) ||
- checkIncreasing(sequence, problemIndex + 1);
- }
- bool checkIncreasing(vector<int> seq, int index)
- {
- if(index - 1 < seq.size() && index + 1 < seq.size())
- {
- if(seq[index - 1] >= seq[index + 1])
- {
- return false;
- }
- }
- for(int i = 0; i < seq.size() - 1; i++)
- {
- if(i == index || i + 1 == index)
- continue;
- else if(seq[i] >= seq[i + 1])
- return false;
- }
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement