Advertisement
HXXXXJ

Get Square

Mar 11th, 2019
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 0.82 KB | None | 0 0
  1. func getSquare(_ arr: [Int]) -> [Int]{
  2.     var res = [Int]()
  3.     guard arr.count > 0 else {return res}
  4.     if arr[0] >= 0 { return arr.map{ $0 * $0 } }
  5.  
  6.     //find first possitive
  7.     var i = 0
  8.     while i < arr.count {
  9.         if arr[i] >= 0 {break}
  10.         i += 1
  11.     }
  12.     var j = i - 1
  13.     while i < arr.count || j >= 0 {
  14.         if j < 0 {
  15.             res.append(arr[i] * arr[i])
  16.             i += 1
  17.             continue
  18.         }
  19.         if i == arr.count {
  20.             res.append(arr[j] * arr[j])
  21.             j -= 1
  22.             continue
  23.         }
  24.         if abs(arr[j]) < arr[i] {
  25.             res.append(arr[j] * arr[j])
  26.             j -= 1
  27.         }else{
  28.             res.append(arr[i] * arr[i])
  29.             i += 1
  30.         }
  31.     }
  32.    
  33.     return res
  34. }
  35.  
  36. var arr = [-10, -2, -1]
  37. print (getSquare(arr))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement