Re: [閒聊] 每日leetcode

作者: JIWP (JIWP)   2024-11-16 17:22:33
終於有比較簡單的題目了
3254. Find the Power of K-Size Subarrays I
給一個長度為n的矩陣nums
和一個正整數k
power定義為
如果這個矩陣是連續(nums[i]=nums[i-1]+1)且遞增時,power就為最大的那個數字
否則power=-1
請找出nums中所有長度為k的矩陣的power並回傳
思路:
就sliding windows
用一個counter
如果nums[i]=nums[i-1]+1 , counter就+1
否則counter=1
如果counter>=k
power=nums[i]
反之 power=-1
golang code :
func resultsArray(nums []int, k int) []int {
n := len(nums)
ans, idx := make([]int, n-k+1), 0
cnt := 1
for i := 1; i < k; i++ {
if nums[i] == nums[i-1]+1 {
cnt++
}else{
cnt = 1
}
}
if cnt == k {
ans[idx] = nums[k-1]
idx++
}else{
ans[idx]=-1
idx++
}
for i := k; i < n; i++ {
if nums[i] == nums[i-1]+1 {
cnt++
} else {
cnt = 1
}
if cnt >= k {
ans[idx] = nums[i]
} else {
ans[idx] = -1
}
idx++
}
return ans
}
作者: NoahKurumi (好諾寶)   2024-11-16 17:23:00
別卷了

Links booklink

Contact Us: admin [ a t ] ucptt.com