添加0034 Kotlin版,0203 Kotlin版,0209 Koltin版, 0977 Kotlin版

This commit is contained in:
Ezralin
2022-07-08 14:10:18 +08:00
parent cc104226fd
commit 9b3468e3b3
4 changed files with 137 additions and 0 deletions

View File

@@ -417,6 +417,38 @@ class Solution {
}
}
```
滑动窗口
```kotlin
class Solution {
fun minSubArrayLen(target: Int, nums: IntArray): Int {
// 左边界 和 右边界
var left: Int = 0
var right: Int = 0
// sum 用来记录和
var sum: Int = 0
// result记录一个固定值便于判断是否存在的这样的数组
var result: Int = Int.MAX_VALUE
// subLenth记录长度
var subLength = Int.MAX_VALUE
while (right < nums.size) {
// 从数组首元素开始逐次求和
sum += nums[right++]
// 判断
while (sum >= target) {
var temp = right - left
// 每次和上一次比较求出最小数组长度
subLength = if (subLength > temp) temp else subLength
// sum减少左边界右移
sum -= nums[left++]
}
}
// 如果subLength为初始值则说明长度为0否则返回subLength
return if(subLength == result) 0 else subLength
}
}
```
Scala:
滑动窗口: