获赞
42
粉丝
7
关注
11
看过 TA
499
香港城市大学
2024
游戏后端
IP属地:广东
暂未填写个人简介
私信
关注
2023-10-07 18:42
已编辑
华为_2012_软件
给定n个正整数组成的数组,求平均数正好等于 k 的最长连续子数组的长度。参考:https://juejin.cn/post/7281444213693808697#heading-5进行python实现def find_max_length(nums, k):    prefix_sum = 0    hashmap = {0: 0}  # 记录前缀和的索引位置    max_length = 0    for i in range(len(nums)):        prefix_sum += nums[i]        target = prefix_sum - k        if target in hashmap:            length = i - hashmap[target] + 1            max_length = max(max_length, length)        if prefix_sum not in hashmap:            hashmap[prefix_sum] = i + 1    if max_length == 0:        return -1    else:        return max_length# 读取输入n, k = map(int, input().split())nums = list(map(int, input().split()))# 转换为相加为0的数组解决问题nums = [num - k for num in nums]result = find_max_length(nums, 0)print(result)
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客企业服务