7oSkaaa

Squares of a Sorted Array

Aug 18th, 2021 (edited)
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.67 KB | None | 0 0
  1. class Solution {
  2. public:
  3.     vector<int> sortedSquares(vector<int>& nums) {
  4.         int lower = lower_bound(nums.begin(), nums.end(), 0) - nums.begin(), r, l, n = nums.size();
  5.         r = lower, l = lower - 1;
  6.         vector < int > ans;
  7.         while(l >= 0 || r < n){
  8.             if(l < 0) ans.push_back(nums[r] * nums[r]), r++;
  9.             else if(r >= n) ans.push_back(nums[l] * nums[l]), l--;
  10.             else {
  11.                 if((nums[l] * nums[l]) > (nums[r] * nums[r]))
  12.                     ans.push_back(nums[r] * nums[r]), r++;
  13.                 else
  14.                     ans.push_back(nums[l] * nums[l]), l--;
  15.             }
  16.         }
  17.         return ans;
  18.     }
  19. };
Add Comment
Please, Sign In to add comment