作者JIWP (神楽めあ的錢包)
看板Marginalman
標題Re: [閒聊] 每日leetcode
時間Sat Nov 16 17:22:33 2024
終於有比較簡單的題目了
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
}
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.72.99.213 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1731748955.A.2DB.html
→ NoahKurumi: 別卷了 11/16 17:23
推 sustainer123: 你要卷死我了 11/16 17:25