多线程 分库查询 深度图像 express curl lua configuration Web Uploader pmp学习视频 jquery的each遍历方法 java运行软件 matlab中axis matlab区分大小写吗 oracle时间格式化 mac版的matlab好用吗 mysql时间戳转换日期 linux查询文件内容 kubernetes视频 mysql学习 python调用方法 python中的zip java类 java包 java接口文档 java创建文件 java生成文件 java获取本机ip javahttp java集合类型 linux如何安装 unix操作系统下载 kms神龙版 倒计时计时器 网络是怎样连接的 微信小程序提示框 彻底删除mysql ad19 渐变事件 免费书籍 firework下载
当前位置: 首页 > 学习教程  > 编程语言

剑桥offer-剪绳子问题-python

2020/8/11 19:56:55 文章标签:

牛客编程练习:
题目描述
给你一根长度为n的绳子,请把绳子剪成整数长的m段(m、n都是整数,n>1并且m>1,m<=n),每段绳子的长度记为k[1],…,k[m]。请问k[1]x…xk[m]可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。
解题思路参考:剪绳子 问题
python代码:

# -*- coding:utf-8 -*-
class Solution:
    def cutRope(self, number):
        if number <= 1:
            return 0;
        if number == 2:
            return 1;
        if number == 3:
            return 2;
        
        if number % 3 == 0:
            length = number/3;
            length1 = 0;
        else:
            length = number/3 + 1;
            length1 = 3- number%3;
        result = 1;
        for i in range(0,length1):
            result = result * 2;
        for i in range(0,length - length1):
            result = result * 3;
        return result;
            

本文链接: http://www.dtmao.cc/news_show_100260.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?