Advertisement
Guest User

Untitled

a guest
Nov 21st, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.69 KB | None | 0 0
  1. #include <string>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6. /**
  7. Given a vector of integers, the altSum method
  8. should return the alternating sum
  9. v[0] - v[1] + v[2] - v[3] + ...
  10. If the vector is empty, the alternating sum is zero.
  11. Use a recursive helper method. Do not use loops.
  12. */
  13.  
  14. int altSumHelper(const vector<int>& values, int i)
  15. {
  16. int size = values.size();
  17. if (size == 0) {
  18. return i;
  19. }
  20.  
  21. if (size % 2 == 0) {
  22. i -= values.back();
  23. } else {
  24. i += values.back();
  25. }
  26. vector<int> temp = values;
  27. temp.pop_back();
  28.  
  29.  
  30. return (altSumHelper(temp, i));
  31. }
  32.  
  33. int altSum(vector<int> v)
  34. {
  35. return altSumHelper(v, 0);
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement