File tree Expand file tree Collapse file tree 1 file changed +30
-1
lines changed Expand file tree Collapse file tree 1 file changed +30
-1
lines changed Original file line number Diff line number Diff line change @@ -91,4 +91,33 @@ impl Solution {
91
91
}
92
92
```
93
93
94
- 注意是abs比较,a和b都是闭区间
94
+ 注意是abs比较,a和b都是闭区间
95
+
96
+
97
+ ``` rust
98
+ # struct Solution {}
99
+ impl Solution {
100
+ pub fn sorted_squares (nums : Vec <i32 >) -> Vec <i32 > {
101
+ let mut res : Vec <i32 > = vec! [0i32 ; nums . len ()];
102
+ let mut idx : usize = 0usize ;
103
+ let mut left : usize = 0usize ;
104
+ let mut right : usize = nums . len () - 1usize ;
105
+ while idx < res . len () {
106
+ let left_square : i32 = nums [left ]. pow (2u32 );
107
+ let right_square : i32 = nums [right ]. pow (2u32 );
108
+ use std :: cmp :: Ordering ;
109
+ match left_square . cmp (& right_square ) {
110
+ Ordering :: Less => {
111
+ right -= 1usize ;
112
+ res [nums . len () - 1usize - idx ] = right_square ;
113
+ }
114
+ _ => {
115
+ left += 1usize ;
116
+ res [nums . len () - 1usize - idx ] = left_square ;
117
+ }
118
+ }
119
+ idx += 1 ;
120
+ }
121
+ res
122
+ }
123
+ }
You can’t perform that action at this time.
0 commit comments