伍佰目录 短网址
  当前位置:海洋目录网 » 站长资讯 » 站长资讯 » 文章详细 订阅RssFeed

2021-03-29:无序数组arr,子数组-1和1的数量一样多,请问最长子数组的长度是多少?

来源:本站原创 浏览:105次 时间:2022-04-08

2021-03-29:无序数组arr,子数组-1和1的数量一样多,请问最长子数组的长度是多少?

福大大 答案2021-03-29:

[1, -1, 2, 3, -4, -1, 9]变成[1, -1, 0, 0, 0, -1, 0],累加和等于0的最长子数组长度,就是所需要的值。
求前缀和,存map。

代码用golang编写。代码如下:

package mainimport "fmt"func main() {    arr := []int{1, -1, 2, 3, -4, -1, 9}    ret := maxLength(arr)    fmt.Println(ret)}func maxLength(arr []int) int {    if len(arr) == 0 {        return 0    }    // key:前缀和    // value : 0~value这个前缀和是最早出现key这个值的    mmap := make(map[int]int)    mmap[0] = -1 // important    llen := 0    sum := 0    for i := 0; i < len(arr); i++ {        if arr[i] ����,�亹== 1 {            sum++        } else if arr[i] == -1 {            sum--        }        if _, ok := mmap[sum]; ok {            llen = getMax(i-mmap[sum], llen)        }        if _, ok := mmap[sum]; !ok {            mmap[sum] = i        }    }    return llen}func getMax(a int, b int) int {    if a > b {        return a    } else {        return b    }}

执行结果如下:


评论

  推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • 就要爱网站目录就要爱网站目录

    就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。

    www.912219.com
  • 伍佰目录伍佰目录

    伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。

    www.wbwb.net