当前位置: 首页 > news >正文

南皮网站建设公司快速排名优化怎么样

南皮网站建设公司,快速排名优化怎么样,牡丹江信息网手机版招聘,手机网站视频无法播放是怎么回事问题描述 小R手上有一个长度为 n 的数组 (n > 0),数组中的元素分别来自集合 [0, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024]。小R想从这个数组中选取一段连续的区间,得到可能的最大乘积。 你需要帮助小R找到最大乘积的区间,并输出这…

问题描述

小R手上有一个长度为 n 的数组 (n > 0),数组中的元素分别来自集合 [0, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024]。小R想从这个数组中选取一段连续的区间,得到可能的最大乘积。

你需要帮助小R找到最大乘积的区间,并输出这个区间的起始位置 x 和结束位置 y (x ≤ y)。如果存在多个区间乘积相同的情况,优先选择 x 更小的区间;如果 x 相同,选择 y 更小的区间。

注意:数组的起始位置为 1,结束位置为 n

代码

from math import log

def solution(n: int, arr: list[int]) -> list[int]:

    # Edit your code here

    """

    寻找最大乘积区间

    Args:

        n: 数组长度

        arr: 输入数组

    Returns:

        返回最大乘积区间的起始和结束位置 [x, y]

    """

    # 结果数组,保存起始位置x和结束位置y

    result = [1, 1]

    # 初始化最大对数和

    max_log_sum = float('-inf') if arr[0] == 0 else log(arr[0])

   

    # 遍历所有可能的起始位置

    for i in range(n):

        # 如果起始位置是0,单独处理

        if arr[i] == 0:

            if max_log_sum == float('-inf') and (result[0] > i + 1):

                result[0] = i + 1

                result[1] = i + 1

            continue

           

        # 当前区间的对数和

        current_log_sum = 0

        # 遍历从i开始的所有可能的结束位置

        for j in range(i, n):

            # 如果当前数是0,结束当前内层循环

            if arr[j] == 0:

                break

           

            # 累加对数

            current_log_sum += log(arr[j])

           

            # 更新最大值和对应的区间

            if (current_log_sum > max_log_sum or

                (abs(current_log_sum - max_log_sum) < 1e-10 and i + 1 < result[0]) or

                (abs(current_log_sum - max_log_sum) < 1e-10 and i + 1 == result[0] and j + 1 < result[1])):

                max_log_sum = current_log_sum

                result[0] = i + 1

                result[1] = j + 1

   

    return result


 

if __name__ == "__main__":

    # Add your test cases here

    print(solution(5, [1, 2, 4, 0, 8]) == [1, 3])

    print(solution(7, [1, 2, 4, 8, 0, 256, 0]) == [6, 6])

http://www.dtcms.com/a/455640.html

相关文章:

  • 深圳网站制作公司在那上海城乡建设网站证件查询
  • 网站风格分类有哪些营销网站做的好的公司
  • 开源网站建设是什么工作国内重大新闻事件摘抄
  • 贵阳网站制作建设网站属于什么费用吗
  • 西安做网站找腾帆英文网站建设方案 PPT
  • 代码错误网站深圳工程建设交易服务中心网站
  • 黄岩网站制作主流网站建设
  • 网站编辑seo网页制作基础代码
  • 网站用户管理系统道路运输电子证照
  • 营销网站的例子九江网络营销
  • 阿里巴巴网站建设要多少钱软文拟发布的平台与板块
  • 盘锦威旺做网站建设资讯门户网站 dede
  • 海南州公司网站建设一键logo设计官网
  • 汕头网站建设套餐宜昌seo优化服务
  • 【操作系统】线程理解 +POSIX线程库 + 线程互斥 + 可重入VS线程安全
  • 网站域名免费沈阳建信建设工程有限公司
  • dw网站开发流程网站上的充值链接怎么做
  • 佛山网站设计案例电商平台官方网站
  • seo怎么给网站做外链计算机类17个专业
  • 重庆专业网站营销重庆 网站定制
  • 网站开发技术的发展流程策划案格式模板
  • 搭建网站 赚钱口碑营销
  • 企业网站备案名称窍门天津建设银行东丽网站
  • 高端网站配色苏华建设集团网站
  • 网站名称设置wordpress移动端禁止放大
  • 墟沟企业建站价格表wordpress开发门户网站
  • 外资公司注册代理seo排名赚
  • 网站模板 哪家好python做互金网站
  • 云南网站建设肖庆华十大搜索引擎排行榜
  • wordpress能做分类信息网站昌邑网站建设公司