首页 > 其他分享 >panghu week04 笔记

panghu week04 笔记

时间:2024-01-28 16:56:25浏览次数:86  
标签:slideSum return target week04 nums int 笔记 slide panghu

长度最小的子数组

一开始想的是框定一个区间,然后如果大于等于 target,从区间头弹出一个元素,从尾部append进入一个元素,发现并不能覆盖所有的区间

看了题解以后,可以定尾,然后移动头部进行比较

func minSubArrayLen(target int, nums []int) int {
    slide := make([]int,0)
    slideSum := 0
    slideRes := 0

    for i := 0;i < len(nums);i++ {
        slide = append(slide, nums[i])
        slideSum += nums[i]
        fmt.Println(slide)

        if slideSum == target {
            slideRes = min(slideRes,len(slide))
            slideSum -= slide[0]
            slide = slide[1:len(slide)]
        }else if slideSum > target {
            slideSum -= slide[0]
            slide = slide[1:len(slide)]
        }
    }

    return slideRes
}

func min(a,b int)int {
    if a == 0 {
        return b
    }

    if b < a {
        return a
    }

    return b
}
func minSubArrayLen(target int, nums []int) int {
    n := len(nums)
    if n == 0 {
        return 0
    }

    ans := math.MaxInt32
    start,end := 0,0
    sum := 0

    for end < n {
        sum += nums[end]
        for sum >= target {
            ans = min(ans,end - start + 1)
            sum -= nums[start]
            start++
        }
        end++
    }

    if ans == math.MaxInt32 {
        return 0
    }
    return ans
}

线上debug工具:
ArthasHotSwap
https://plugins.jetbrains.com/plugin/16437-arthashotswap/

标签:slideSum,return,target,week04,nums,int,笔记,slide,panghu
From: https://www.cnblogs.com/zhangpengfei5945/p/17993006

相关文章

  • 《Confusion Graph: Detecting Confusion Communities in Large Scale Image Classifi
    论文标题《ConfusionGraph:DetectingConfusionCommunitiesinLargeScaleImageClassification》混淆图:在大规模图像分类中检测混淆社区作者RuochunJin、YongDou、YueqingWang和XinNiu来自国防科技大学并行和分布式处理国家实验室,和上一篇是姊妹篇。初读摘要......
  • Docker学习笔记05:私有库
    DockerRegistry基本流程下载DockerRegistry镜像启动Registry容器推动镜像到自建Registry查看从自建Registry拉镜像。启动镜像dockerpullregistry#运行registry映射端口挂载映射容器卷开启特权模式dockerrun-d-p5000:5000-v/opt/registry:/tmp/registry--privilege......
  • 【学习笔记】部分树上算法(概念篇)
    本文包括:轻重链剖分(done)线段树合并(done)tobeupd:长链剖分DSUontree(树上启发式合并)点分治边分治LCT有待更新本文非例题代码大多未经过编译,谨慎使用本文本来只有重剖长剖dsu,但是发现不会写,另外几个甚至更简单就带歪了.jpgpart1轻重链剖分树剖是一类算法的总......
  • 《人月神话》读书笔记2
    贯彻执行要保证项目开发概念的完整性,可以通过手册规范开发人员的工作;尽管形式化定义通常难以理解,但它可以让表达更加精确;会议可以实现开发人员、架构师等团队内部的沟通协商,会议留下的问题积攒后通过大会重新决策。为什么巴比伦塔会失败?团队内部的沟通交流将影响整个团队的开发......
  • 线段树笔记
    voidpushup(inttr){ seg[tr]=seg[tr*2]+seg[tr*2+1];}voidbuild(inttr,intl,intr){ if(l==r){ seg[tr]=a[r]; return; } intmid=(l+r)/2; build(tr/2,l,mid); build(tr/2,mid+1,r); pushup(tr);}voidpushdown(inttr,intl,intr){ if(pls[tr]==0)......
  • 《构建之法》读书笔记2
        软件件开发分为几个阶段:玩具阶段→业余爱好阶段→探索阶段→成熟的产业阶段。而在我们学习软件开发时也会经历以下几个阶段,首先是玩具阶段,这个阶段可能也就像我们高考完填报志愿时那样,对计算机有点兴趣,幻想着做出什么有意思的软件。这个时候我们对软件这个东西还是不......
  • 《构建之法》阅读笔记3
        最后,邹欣探讨了团队协作和伦理责任在软件构建中的重要性。作者认为,一个成功的软件项目不仅需要技术上的卓越,更需要团队之间的良好合作和沟通。    首先,作者分析了团队协作的关键因素,包括沟通、信任、以及分工合作等方面。他提出了一些有效的团队管理策略和方......
  • 《构建之法》读书笔记1
         《构建之法》一书由软件工程领域的专家邹欣撰写,旨在探索现代软件工程的核心理念和关键实践。软件构建作为软件开发生命周期中的关键环节,对于确保软件质量、可维护性和可扩展性至关重要。在本书的第一篇中,邹欣深入剖析了构建的本质,并提出了一系列构建策略和方法。 ......
  • 《构建之法》阅读笔记1
      《构建之法:现代软件工程》是邹欣所著的一部引人深思的著作,它引领读者深入了解软件工程的本质,并提出了许多新颖而富有洞见的观点。   在书中,邹欣首先强调了软件工程中模块化与组件化的重要性。他指出,通过将复杂的系统分解为更小的模块,我们能够更轻松地管理和维护代码......
  • 《设计模式之禅》读书笔记
    参考  https://zhuanlan.zhihu.com/p/357889775 一、六大设计原则单一职责原则定义:应该有且仅有一个原因引起类的变更。举例:属性和行为拆分,例如setPassword(Stringpassword)和changePassword(Stringpassword)。单一职责原则提出了一个编写程序的标准,用“职责”或“......