当前位置:网站首页>[算法] 剑指offer2 golang 面试题8:和大于或等于k的最短子数组
[算法] 剑指offer2 golang 面试题8:和大于或等于k的最短子数组
2022-07-06 09:18:00 【邓嘉文Jarvan】
[算法] 剑指offer2 golang 面试题8:和大于或等于k的最短子数组
题目1:
思路1: 滑动窗口
//思路: 滑动窗口
//指针 [left,right] 记录连续子数组的区间,并记录区间和 sum
//if sum < target; right ++ ;sum += nums[right]
//if sum >= target; 更新最小长度 minLen; sum -= nums[left]; left++
代码
func minSubArrayLen(target int, nums []int) int {
//思路: 滑动窗口
//指针 [left,right] 记录连续子数组的区间,并记录区间和 sum
//if sum < target; right ++ ;sum += nums[right]
//if sum >= target; 更新最小长度 minLen; sum -= nums[left]; left++
//参数处理
if len(nums) ==0 || target <= 0{
return -1
}
//滑动窗口
minLen := 0
left,right,sum := 0,0,nums[0]
for left <= right{
if sum < target {
right ++
//这里会有指针溢出 todo
if right == len(nums) {
return minLen
}
sum += nums[right]
}else {
//更新最小长度
tempLen := right - left + 1
if tempLen < minLen || minLen == 0{
minLen = tempLen
}
sum -= nums[left]
left ++
}
}
return minLen
}
测试
边栏推荐
- Excel导入,导出功能实现
- [offer78] merge multiple ordered linked lists
- Problèmes avec MySQL time, fuseau horaire, remplissage automatique 0
- (5) Introduction to R language bioinformatics -- ORF and sequence analysis
- Naive Bayesian theory derivation
- (core focus of software engineering review) Chapter V detailed design exercises
- Matlab读取GNSS 观测值o文件代码示例
- 微信小程序开发心得
- FairyGUI增益BUFF数值改变的显示
- Unity3D制作注册登录界面,并实现场景跳转
猜你喜欢
Guided package method in idea
MySQL time, time zone, auto fill 0
(3) Introduction to bioinformatics of R language - function, data Frame, simple DNA reading and analysis
FairyGUI循环列表
Mixed use of fairygui button dynamics
Intermediate use tutorial of postman [environment variables, test scripts, assertions, interface documents, etc.]
FairyGUI摇杆
2021.11.10 compilation examination
地球围绕太阳转
(1) Introduction Guide to R language - the first step of data analysis
随机推荐
Pytorch: tensor operation (I) contiguous
idea中导包方法
FairyGUI按钮动效的混用
JUC forkjoin and completable future
Detailed explanation of truncate usage
Prove the time complexity of heap sorting
Knowledge system of digital IT practitioners | software development methods -- agile
How to reduce the shutdown time of InnoDB database?
NovAtel 板卡OEM617D配置步骤记录
2021.11.10 compilation examination
Force buckle 1189 Maximum number of "balloons"
dosbox第一次使用
How to improve the deletion speed of sequential class containers?
Conditional probability
(4) Data visualization of R language -- matrix chart, histogram, pie chart, scatter chart, linear regression and strip chart
[leetcode622]设计循环队列
[leetcode15] sum of three numbers
Flink late data processing (3)
Unity3D,阿里云服务器,平台配置
[Clickhouse kernel principle graphic explanation] about the collaborative work of partitioning, indexing, marking and compressed data