Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 882c19c

Browse files
committed
添加 1005.K次取反后最大化的数组和.md Scala版本
1 parent a6ce79a commit 882c19c

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

‎problems/1005.K次取反后最大化的数组和.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -289,6 +289,28 @@ function largestSumAfterKNegations(nums: number[], k: number): number {
289289
};
290290
```
291291

292+
### Scala
293+
294+
```scala
295+
object Solution {
296+
def largestSumAfterKNegations(nums: Array[Int], k: Int): Int = {
297+
var num = nums.sortWith(math.abs(_) > math.abs(_))
298+
299+
var kk = k // 因为k是不可变量,所以要赋值给一个可变量
300+
for (i <- num.indices) {
301+
if (num(i) < 0 && kk > 0) {
302+
num(i) *= -1 // 取反
303+
kk -= 1
304+
}
305+
}
306+
307+
// kk对2取余,结果为0则为偶数不需要取反,结果为1为奇数,只需要对最后的数字进行反转就可以
308+
if (kk % 2 == 1) num(num.size - 1) *= -1
309+
310+
num.sum // 最后返回数字的和
311+
}
312+
}
313+
```
292314

293315

294316

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /