Array Transformation
给一个数组, 让简单的变化一下.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
class Solution { public: vector<int> transformArray(vector<int>& arr) { bool changed = true; while(changed) { changed = false; vector<int> ary(arr.size()); ary[0] = arr[0]; ary[arr.size() - 1] = arr[arr.size() - 1]; for(int i = 1; i < arr.size() - 1; i++) { if(arr[i - 1] > arr[i] && arr[i] < arr[i + 1]){ ary[i] = arr[i]+1; changed = true; }else if(arr[i - 1] < arr[i] && arr[i] > arr[i + 1]){ ary[i] = arr[i]-1; changed = true; }else { ary[i] = arr[i]; } } arr = ary; } return arr; } }; |